WordPress بر پایه CakePHP

July 20, 2011 at 10:45 am

بدون شک وردپرس بزرگترین و محبوبترین سیستم وبلاگ نویسی (یا بهتر بگوییم مدیریت محتوا) است که با اختیارات فراوانی که به کاربر می دهد هنوز بصورت رایگان ارائه می‌شود. کیک پی‌اچ‌پی هم جزء برترین فریم‌ورک‌های PHP موجود است که سهم قابل توجهی در بازار دارد. اما آیا می توان وردپرس را بر پایه کیک پیاده سازی کرد؟!

اگر چه هسته وردپرس خوب نوشته شده است اما بنظرم پیاده سازی الگوی MVC کیک، می‌تواند وردپرس را برای توسعه دهند‌گان آن دگرگون کند.برای مثال قالب یا همان Layout وردپرس را تصور کنید، شلوغ و نامفهوم به نظر می‌آید(هرچند مستندات وردپرس جای هیچ سئوالی را بی‌پاسخ نگذاشته است). طراح مجبور است یک صفحه را به چند بخش در چندین فایل مجزا کند اما با معماری MVC همه در یک مجموعه منظم خواهند بود. مسلماً این پیاده سازی چالش های بزرگی خواهد داشت چرا که وردپرس یک سیستم ساده نیست امنیت و وسعت اختیارات فاکتورهای مهمی هستند که نباید نادیده گرفته شوند.

Tim Trice فردی است که روی این پروژه که اسم آن را CakePress گذاشته است کار می‌کند. کیک‌پرس هنوز در حال توسعه است و تمام قابلیت‌های وردپرس را ندارد اما بدنه و قابلیت‌های اصلی را پوشش داده است. می‌توانید CakePress را از گوگل کد از اینجا دریافت کنید. برای افرادی که با معماری دیتابیس وردپرس و همچنین MVC در کیک آشنایی دارند سورس این پروژه می تواند یک منبع آموزشی عالی برای فراگیری CakePHP باشد.توضیحات بیشتر را می‌توانید در وبلاگ Tim در اینجا بیابید.

پیکربندی Eclipse برای کار با CakePHP (بخش اول)

November 26, 2008 at 09:31 pm

از آنجایی که خیلی از دوستان در رابطه با انتخاب یک IDE مناسب برای کار با کیک با مشکل مواجه بودند. این پست نوشته شد، امیدوارم مفید واقع شود. در این پست و پست آتی تنظیمات ادیتور قدرتمند Eclipse برای کار با فریم‌ورک CakePHP به ترتیب زیر آورده شده است:

  • + بخش اول:
    1- معرفی اجمالی Eclipse و ایجاد workspace و project
    2- پیوند هسته کیک به پروژه جهت استفاده از قابلیت‌های توکار Eclipse
    3- پیکربندی برای شناسایی فایل‌های thtml یا ctp
    4- پیکربندی برای طبخ کیک بطور مستقیم با کنسول CakePHP

    + بخش دوم:
    5- دسترسی به پایگاه داده MySQL به کمک پلاگ‌‌این QuantumDB
    6- افزودن پشتیبانی از Subversion به کمک پلاگ‌این Subclipse

    آنچه بدین منظور نیاز دارید:
    +‌ نسخه‌ای از Eclipse که شامل ابزارهای توسعه‌ی پی‌اچ‌پی است (3.3.2)
    + نسخه‌ای از XAMPP که بطور پیشفرض در C:xampp نصب شده است
    + نسخه‌ای از CakePHP که بطور پیشفرض در C:xampphtdocscake قرار دارد
    + سیستم عامل ویندوز ایکس‌پی

چرا از Eclipse استفاده می‌کنم؟
اول اینکه کد باز است و تعداد زیادی پلاگ‌این برای آن نوشته شده است که همه‌ی نیازهای یک توسعه دهنده‌ی وب را پوشش می‌دهد بطوریکه با اطمینان می توان گفت این نرم‌افزار به تنهایی یک توسعه دهنده را راضی خواهد کرد.

دوم اینکه بزرگ و قدتمند است اما در عین حال ساده برای بکارگیری. Eclipse یک IDE خاص نیست بلکه برای طیف وسیعی از زبان‌های برنامه‌نویسی منتشر شده است. حتی خیلی از ادیتورهایی که جدیدا عرضه می‌شوند بر پایه‌ی Eclipse بنا شده‌اند. از آن جمله می‌توان نرم‌افزار Carbide.ui Theme Edition شرکت نوکیا که برای طراحی تم‌های گوشی‌های موبایل ساخته شده است را نام برد یا جای دوری نرویم همین Aptana که برای کار با فریم‌ورک‌های جاوااسکریپت پیشنهاد می‌شود و … ادامه مطلب …

ساخت لینکدونی با CakePHP (بخش سوم)

October 24, 2008 at 01:10 am

پیش نیازها: ساخت لینکدونی با CakePHP (بخش اول) و (بخش دوم)
در مراحل قبل داده‌ها را از دیتابیس خواندیم و در قالب لینک نمایش دادیم. در این بخش قصد داریم امکان افزودن لینک جدید، ویرایش و حذف لینک را اضافه کنیم و مختصری هم با Routes در کیک پی‌اچ‌پی آشنا شویم.

ساخت فرم و افزودن لینک

طبق نمونه‌های گذشته به فایل links_controller.php کنش add را بصورت زیر اضافه می‌کنیم تا بتوانیم لینک‌های جدیدی در دیتابیس اضافه کنیم:

<?php
class LinksController extends AppController {
  var $name = 'Links';
  function index() {
    $this->set('links', $this->Link->find('all'));
  }     
  function view($id = null) {
    $this->Link->id = $id;
    $this->set('link', $this->Link->read());
  }       
  function add() {
    if (!empty($this->data)) {
     if ($this->Link->save($this->data)) {
$this->flash('Your link has been saved.', '/links');
     }
    }
  }  
}
?>

تابع add را به این صورت تعریف می‌کنیم که چنانچه فرم ارسال شده خالی نبود، با استفاده از مدل Link سعی شود داده ذخیره شود اما چنانچه بنا به دلایلی ذخیره نشد، نما نمایش داده شود. این خود فرصتی را در اختیارمان قرار می‌دهد تا خطاهای ناشی از محتوای فیلدهای ارسالی را نمایش دهیم. ادامه مطلب …