سردرگمی میان Frameworkهای PHP - کدام یک را باید برگزید؟

Frameworkهای بسیار زیادی برای PHP نوشته شده است که هر کدام ویژگی‏ها و امکانات خاص خودشان را دارد. برای برگزیدن یکی از آنها، نیاز به بررسی همه و آشنایی نسبی با آنها دارد. من مدتها بود که داشتم با اینها بازی می‏کردم و ویژگی‏ها و چگونگی کار با هر کدام را می‏آزمودم. در این نوشته پنج Framework مشهور را برگزیده‏‎ام و به بررسی کلی هر کدام از آنها خواهم پرداخت. این بررسی می‏خواهد یک Overview کلی از هر کدام را نشان دهد تا برای دیگران، انتخاب آسان‏تر شود. Framework برگزیده خودم هم در این نوشته مشخص خواهد شد و دلایل گزینش آن را نیز می‏توانید بخوانید.

Zend Framework
طبیعتا Zend Framework سرشناس‏ترین و بالاترین گزینه ما است؛ چون که Zend، شرکتی که پشت PHP است آن را طراحی و تولید کرده است. این Framework امکانات زیادی داشته و بسیار قدرتمند است و هر آن چه که برای تولید یک پروژه بزرگ لازم داشته باشید در خود دارد. License آن هم BSD است که به شدت انعطاف پذیر بوده و شرط می‏کند که در صورت توسعه آن باید کد تولید شده کاملا انعطاف پذیر باشد.

همچنین این Framework از PHP 4 پشتیبانی نمی‏کند و تنها در PHP 5 اجرا می‏شود. با توجه به تلاشهای زیاد اخیر برای ارتقاء به PHP 5 در سرورها شاید این مسئله کمتر به چشم بیاید ولی به هر روی ناهماهنگی با یکی از گسترده‏ترین نسخه‏های PHP در این Framework به چشم می‏خورد.

این Framework و کامپوننت‏های فراوان آن برای پروژه‏های خیلی خیلی بزرگ مناسب است ولی برای خیلی از پروژه‏ها چیزهایی را ارائه می‏کند که خیلی بیشتر از نیاز آنها است و همچنین به طور نسبی از پیچیدگی‏هایی برخوردار است. خیلی از چیزهایی که Zend Framework داره، خیلی کم کاربرد است. در هر حال، گزینه برگزیده من Zend Framework نیست. به باور من Zend Framework خیلی خوش دست نیست و یاد گرفتن آن زمان زیادتری می‏برد و زمان زیادی لازم هست تا بفهمید دقیقا چگونه کار می‏کند. این پیچیدگی مخصوصا اگر بخواهید با یک تیم کار کنید، سبب می‏شود تا زمان زیادی برای آموزش تیم از بین برود. همچنین این Framework شما را به پیروی از MVC اجبار نمی‏کند. این مساله اگر چه از یک سو سبب انعطاف‏پذیری می‏شود ولی از سوی دیگر هم ممکن است کار شما را غیر استاندارد کند.

بد نیست بدانید که در بین سایتهای ایرانی، سایت مشهور کلوب با کمک Zend Framework درست شده است.

CakePHP
یکی از مشهورترین و محبوب‏ترین Frameworkها و یکی از بهترین برابرهای Rails در PHP به شمار می‏آید. از MVC کامل پشتیبانی می‏کند. کاربران خیلی زیاد و فعالی دارد که ویژگی مهمی به حساب می‏آید. اگر چه من اصلا از Mambo خوشم نمی‏آید ولی این CMS محبوب Mambo هم قرار است در نسخه‏های آینده از CakePHP استفاده کند.
اما این سیستم دو تا اشکال کوچک هم دارد. یکی این که بیش از اندازه کند است (برای خواندن گزارش یک Benchmark خوب بین CakePHP، Zend Framework و CodeIgniter اینجا را ببینید). این مساله در صورتی که هزینه سرور برای شما اهمیت داشته باشد، خودش را بیشتر نشان می‏دهد. دوم این که اسامی کلاسهایی CakePHP خیلی عمومی طراحی شده است. برای نمونه کلاس Database که اگر شما هم کلاس مشابهی داشته باشید، سبب ایجاد ناهماهنگی در کد شما می‏شود و به طور کلی چنین اسم‏گذاری و به کار نگرفتن پیشوند مناسب مانند Cake سبب بدبینی نسبی من به طراحی این سیستم شده است.
همچنین ORMی که در CakePHP طراحی شده است، توارث را پشتیبانی نمی‏کند و به باور من چندان استاندارد نیست. (با Hackهایی می‏توان مشکل توارث ORM در CakePHP حل کرد. در این باره رک: Kelnishi.com)

ولی به طور کلی نصب CakePHP خیلی ساده است و راه انداختن اولیه سایت باهاش کار ساده و آسانی است. بر خلاف Zend Framework که نمی‏دانستید از کجا باید آغاز کنید، در CakePHP خیلی سریع می‏توانید یک سایت ساده راه بیاندازید. ولی انجام کارهای پیشرفته‏تر به دلیل نبودن مستندات کافی و راهنماهای مناسب کمی با CakePHP دشوار است. در هر حال گزینه انتخابی من CakePHP هم نیست.

برای خواندن یک آموزش فارسی خوب برای کار با این برنامه رک: الوان وب

Prado
از همه گزینه‏های دیگر متفاوت است. بر پایه MVC درست نشده است. طراح Prado این کار را برای پروژه دکترایش انجام داده است و در طراحی آن Delphi را مد نظر داشته و تلاش کرده تا یک Framework کاملا Object Oriented و Event Driven درست کند. اگر با ASP.NET کار کرده باشید، Prado را خیلی مشابه با آن خواهید یافت. در Prado همه چیز حتی یک Label و Button هم Object است که Propertyها و Eventهای خاص خودش را دارد. همچنین زبانی شبیه به HTML برای طراحی ظاهر صفحات دارد (دقیقا شبیه به ASP.NET و Tagهای asp: این زبان)
من اگر چه ASP.NET را دوست دارم و باهاش کار هم می‏کنم و اگر چه فکر می‏کنم Prado سیستم خیلی قشنگ و تمیزی است ولی Prado هم گزینه برگزیده من نیست؛ چون پشتیبانی یک سیستم از MVC برایم اهمیت زیادی دارد.

CodeIgniter
این Framework خیلی شبیه به CakePHP و از آن ساده‏‎تر و کوچکتر است و به همین خاطر هم از لحاظ سرعت از CakePHP خیلی بهتر است ولی خوب به همان اندازه هم امکانات کمتری دارد. این Framework شما را مجبور به پیروی کامل از MVC نمی‏کند، بنابراین برای یادگیری نوآموزان بهتر است. از Ajax هم مستقیما پشتیبانی نمی‏کند. ولی Code Igniter ویژگی‏های خوبی هم دارد. این Framework در PHP 4 هم کار می‏کند و از لحاظ سبک برنامه‏نویسی به سبک برنامه‏نویسی PHP 4 نزدیک است. به همین خاطر برای Port کردن کدهای قدیمی به یک Framework گزینه مناسبی است. همچنین دارای Community بزرگی است و کامپوننتها و مثالهای فراوانی برایش پیدا می‏شود. این Framework هم همانند CakePHP گزینش من نیست.

symfony
این Framework امکانات بسیار زیادی دارد و ماژول‏های جداگانه را برای انجام کارهای خودش به کار می‏گیرد: مانند DB Layer که با امکانات زیاد خودش واقعا لایه بانک اطلاعاتی شما را به بهترین شکل پشتیبانی می‏کند و امکان نوشتن برنامه مستقل از بانک اطلاعاتی را به شما می‏دهد. (اگر چه این ویژگی در Frameworkهای دیگر هم هست).
برای انجام پروژه‏های بزرگ symfony به خاطر امکانات زیادش، گزینه خیلی خوبی است ولی با این حال، پیچیدگی‏های Zend Framework را هم ندارد. این Framework هم تنها بر روی PHP 5 کار می‏کند. License آن هم MIT است که License خوب و انعطاف‏پذیری به حساب می‏آید. همچنین این Framework به خوبی AJAX را پشتیبانی می‏کند و امکاناتی برای ساختن صفحات Admin سایت دارد که کار طراحی بخش مدیریتی سایت را خیلی آسان می‏کند.

سیمفونی از ORM مشهوری به نام Propel بهره می‏گیرد که به باور من سیستم بسیار قدرتمندی است. اگر چه در CakePHP هم ORM هست ولی در آن جا از یک سیستم داخلی استفاده شده است. به کار گیری یک ORM بیرونی سبب افزایش سرعت توسعه سیمفونی شده است؛ چون که Propel سیستم خیلی مشهوری بوده و به طور عادی خودش در حال توسعه هست. این مساله همچنین هوشمندی طراحان سیمفونی را نشان می‏دهد.

خوب حدس زدنش سخت نیست. Framework برگزیده من symfony است. طراحی دقیق و محکم، سرعت مناسب، امکانات خیلی زیاد، مستندات و Community بزرگ آن، وجود ویژگی Admin Generator و سیستم کنترل دسترسی که سبب می‏شود من بتوانم در زمان طراحی صفحات سایت به مسائل مهمتر و افزودن ویژگی‏های اصلی بپردازم، از دلایل این گزینش من است.

پیوندها

تصویر samy

سلام
ضمن تشكر از سايت خوبتان ، مي خواستم بپرسم Framework هاي phpmaker را هم توضيح دهيد.

تصویر php

سلام
اول اینکه خیلی ممنون به خاطره راهنمایی هایی که کردید.
helper های نوشته شده در template ها شناسایی نمی شه.
یعنی مثلا به input_tag خطا می گیرد که نمی شناسم .
حال ما چه کنیم
خیلی ممنون میشم اگه یه راهنمایی بکنید
خیلی عجله دارم اخه ضروریه

تصویر شاهزاده احمدی

راستش درست متوجه سوالتون نشدم.

تصویر نويد

سلام. با تشكر از مطلبتون، به نظر من يكي از مهمترين مسايلي كه توسعه دهندگان symfony خوب به اون توجه داشتند documentation و tutorial هاي قوي هست كه براي اون نوشتند و شما ميتونيد حتي به صورت pdf اونا رو از سايتش دانلود كنيد. چيزي كه حتي تو zend هم به اين خوبي به اون توجه نشده.

نكته ديگه اينكه شما ميتونيد از كلاسهاي فريم وركهاي ديگه مثل zend تو پروژتون استفاده كنيد بدون اينكه لازم باشه تحت اون فريم ورك develop كنيد. براي نمونه من در يك پروژه symfony از كلاسهاي zend_lucene و zend_mail استفاده كردم و موفقيت آميز هم بود.

در پايان بايد بگم انتخاب اول من هم symfony هستش.
موفق باشيد.

تصویر مجید کازرونی

مقاله خوبی بود کس هست بدونه جایی تدریس میشه این framwork ها -من هرچی گشتم پیدا نکردم

تصویر رضا حقیقی

من در مورد فریمورک ها خیلی تحقیق کردم و در نهایت به این نتیجه رسیدم که درسته که زند سخت تر و پیچیده تره اما در عین حال پشیبانی یه تیم حرفه ای و قدرتمند و چندین شرکت بزرگ از جمله خود زند خالق موتور پی اچ پی ۵-۶ و ادوبی رو به همراه داره و از این حیث که مثل خیلی از پروژه های متن باز به بن بست مالی برسه یا وابسته به فرد باشه نیست و آیندش روشن تر به نظر میرسه.
شما که به خودتون سختی میدین خوب یه خوردم روش!

تصویر mohsen

salam khonome hoda
man har kari mikonam nemitonam symfony ra nasb konam lotfan rahnamayi konid.
va dovom inke ghaziye controlpannel>systeam -advanced ke path tarif mikonid baraye chiye ?
mikham bedonam shayad manam behesh bar khordam.
baz ham sepas az saite khobetan.
ba tashakor mohsen

تصویر شاهزاده احمدی

نصب سیمفونی چندان سخت نیست. یک راه آسانش این است که sandbox سیمفونی را از سایتش بگیرید و در شاخه htdocs خودتان باز کنید. یک راه بهترش هم این است که با کمک PEAR سیمفونی را نصب کنید. اگر از XAMPP استفاده می‏کنید ابتدا از شاخه‏ای که در آن PHP نصب شده است (C:\xampp\php) فایل go-pear.bat را اجرا کنید تا PEAR نصب بشود. سپس با دستورات زیر سیمفونی را نصب کنید:
pear channel-discovery symfony.symfony
pear install pear.symfony-project.com

خود PEAR کار نصب سیمفونی را برای شما انجام می‏دهد. این روش به طور کامل در کتاب سیمفونی که در سایت گذاشتمش توضیح داده شده است.

آن بحث Path برای افزودن مسیر PHP.exe به مسیرهای ویندوز شما است تا در هر آدرسی که باشید PHP.exe در مسیر باشد و اجرا بشود. همانجا کامل توضیح دادم. چون ابزار CLI یا Command Line سیموفنی با php نوشته شده است برای اجرا آن لازم است تا فایل PHP.exe در مسیر جاری شما باشد.

تصویر masoumeh

khanom salam
man cd ro ke baraie jashnvare dadin
sozondam
yani sokht dige
daste man nabod
chekar konam khano0om

تصویر قمی

خانوم سلام دیدید کد منو یا نه
من منتظرم
شنبه بهم جواب بدید
باشه
خانوم من منتظرم
منتظر ...منتظر...منتظر
خانوووووووووووووووووووووووووووووووووووووووووووووم
مرسی
همین بای بای

تصویر بهاره متقیان

سلام خانوم
خانوم پروژه براتون درست کردم هلو,سیب ,آناناس ,نارگیل.اصلا هر میوه ای که شما دوست دارید.
فقط
لطفا قبل از اجرا ,پروژه رو در کامپیوترتون کپی کنید.
باتشکر

تصویر m

سایتتون خیلی عالیه مرسی

تصویر شاهزاده احمدی

سپاسگذارم

تصویر قمی

خانووووووووووووووم
من اصلا شانس ندارم
درست نشد
حتی با کد سهیلا
من نمیدونم چیکار کنم.دیگه مخم پکید از بس بهش ور رفتم.
فردا براتون میارم
بای

تصویر m

mishe framework ra kamel tozih bedin

تصویر شاهزاده احمدی

Framework یک نگرش در برنامه‏نویسی است که در قالب یک کتابخانه برنامه‏نویسی ارائه می‏شود. در واقع Framework از طریق یک کتابخانه برنامه‏نویسی یک راهکار کامل و جامع برای یک مسئله ارائه می‏کند. مثلا سیمفونی از طریق کتابخانه‏ای که با PHP نوشته شده است یک راه حل کامل برای مسائلی همچون امنیت، URL Handling، Session Management و مسائلی از این قبیل ارائه می‏کند.

تصویر قمی

خانوم من کد یکی از بچه هارو گرفتم ولی اگر درست نشه
باید خودتون یه کاریش بکنین
مرسی
دوستون دارم
بای بای

تصویر طاهره

سلام خانوم من بخش نقاشی هاتونو دیدم خیلی خوشگل بود واقعا جالب بود منم عاشق نقاشی ام
یعنی میشه من یه روز مثل شما نقاشی بکشم(آه)

تصویر شاهزاده احمدی

سپاسگذارم عزیزم! امیدوارم یک روز نقاشی‏هایی بهتر از نقاشی‎‏های من بکشی.

تصویر fatima

سلام خانوم محض یاد آوری مزاحم شدم ،قرار بود آدرس سایت بدید تا برنامه ی xamppرو دانلود کنم .
پیشاپیش خیلی خیلی ممنون.

تصویر شاهزاده احمدی

عزیزم با گوگل دوست بشو. در گوگل یک جستجوی ساده هم بکنی پیدا میکنی: http://www.apachefriends.org/en/xampp-windows.html

تصویر فرید

سلام
نمیدونم من خیلی صفرم یا راه انداختن سنفونی خیلی سخته!
البته من تونستم sand box ببینم و اجراش کنم اما اومدم توش یه پروژه کوچیک بسازم که تو خود سایت یاد داده بود ولی هیچ کردوم از فرامینی رو که تو خط فرمان باید اجرا میکردم نه تو ویندوز و نه تو لینوکس اجرا شد!!!
خوبی کیک تو اینه که خیلی سریع راه میوفته ولی خیلیییییی کنده!
میشه شما یه پروژه کوچیک رو قدم به قدم یاد بدید با سمفونی؟
مثل الوان وب که برای کیک این کارو کرد!
مرسی
البته باید بگم که من شما رو تحسین میکنم چون از معدود خانوم هایی هستید که در این رشته هرو از بر تشخیص میدن!راستشو بخواهین دومین کسی که از جنس مخالف میشناسم که از من بالاترن. نه اینکه من خیلی بالاماااا نه! فقط چون ندید پدیدم گفتم بگم بدونید ! ما که تو دانشگاهمون هیچ دختری رو تو رشتمون ندیدیم واقعا علاقه داشته باشه
(جز یکی)
موفق باشید

تصویر شاهزاده احمدی

سلام
از لطف شما سپاسگذارم. به زودی یک راهنمای ساده برای درست کردن یک وبلاگ با سیمفونی در سایت می‏گذارم. ولی مشکل کار نکردن خط فرمان شما از این جا ناشی می‏شود که این برنامه خط فرمان خودش با php نوشته شده است و برای اجرای آن نیاز به php دارد. از آنجایی که آدرس php در path کامپیوتر شما تعریف نشده است هم امکان اجرای php و از این رو امکان اجرای این برنامه command lineی نیست.

کاری که شما باید بکنید خیلی ساده این است که بروید در Control Panel > System و از آنجا بروید به تب Advanced و از آنجا بروید به Environment Option و به متغییر Pathی که در کامپیوترتان دارید مسیر php را بدید. برای این کار کافی است یک ; بگذارید و بعد مسیر php را بزنید. برای من: C:\xampp\php

حالا command line را ببندید و یک بار دیگر اجرا کنید. از این به بعد دیگه ابزار command line سیمفونی مسیر php را پیدا می‏کند و برنامه بدون مشکل اجرا می‏شود. جالب این جاست که همین مشکل را کس دیگری هم در اینجا پرسیده بود و من همین پاسخ را گفته‏ام.

تصویر فهیمه گلچین

خیلی توپه واقآ عالیه، جدی میگم.

تصویر بهمن

خانم هدی سلام
مدتی هست که مطالبی که در وبلاگتان می نویسید دنبال می کنم
به تازگی در سایت گاتریا http://www.gatriya.com بخش مقالاتی راه اندازی کرده ام که از دوستانی که مایل هستند خواهش می کنم که مقالات خود را برای ما بفرستند .. قصد داریم مبلغی را هم به این کار اختصاص دهیم ( که البته خیلی نیست و بیشتر برای ایجاد انگیزه است نه پاداش زحمات ) ما در ابتدای راه هستیم و کمک شما می تواند بسیار به ما روحیه بخشد .. به همین منظور فعلا این مقاله آخر شما را در اینجا آورده ام http://www.gatriya.com/?part=page&id=26 ولی اجازه شما برای استفاده مطالبی که شما می نویسید شرط اصلی برای قرار دادن مطلب در سایت گاتریا می باشد .. امیدوارم که این خواهش من را بپذیرید و بتوانیم همکاریمان را در این زمینه بیشتر کنیم.
ممنون
بهمن

تصویر شاهزاده احمدی

خواهش می‏کنم. سایت خوبی دارید. امیدوارم موفق بشوید و به یک بازیگر اصلی در بازار CMSها در ایران تبدیل بشوید. پیشنهاد می‏کنیم با فراهم کردن Backlinkهای بیشتر به خودتان Rankتان را در گوگل افزایش دهید.
درباره به کارگیری مقالات در پایگاه‏تان هم مشکلی نیست. فقط لطفا در بالا یا پایین مقاله، منبع را بنویسید و به آدرس این صفحه لینک کنید.

تصویر بهمن

ممنون از لطف شما ...

تصویر مهدی

@ علی : درسته که مامبو برای نسخه جدید خود از CakePHP استفاده می‌کنه. اما یکی از دلایل این کار مامبو، جذب Developer های بیشتر برای مامبوست (یعنی جذب Developer های Cake) چون تنها ایرادی که می‌شه به مامبو گرفت اینه که افزونه‌های زیادی براش وجود نداره!!! و با این ترفند هم CakePHP به مامبو کمک می‌کنه و هم مامبو به اعتبار CakePHP
در نهایت هم Symfony می‌تونه بهترین انتخاب از دید من و شاید امثال من باشه، چرا که من به دنبال راحتی و البته قدرت کارم هستم، نه چیز دیگه!!!

تصویر علی

سلام.مخلصیم مهدی جان :)

این که گفتی یکی از دلایل مامبو برای انتخاب کیک پی اچ پی جذب توسعه دهندگان بیشتر برای مامبو هست خب این سوال پیش میاد که چرا برای جذب توسعه دهندگان بیشتر مثلا به سراغ همینSymfony نرفتند؟ چیزی که معلومه اینه که مامبو احتیاجی به تعصب روی فریم ورک خاصی نداره. در این صورت آیا میشه نتیجه گرفت که cake php در بین توسعه دهنگان php مقبول تر هست و توسعه دهندگان بیشتری از سایر فریم ورک ها داره؟ و به این ترتیب اگر چنین فرضی صحیح باشه میشه نتیجه گرفت که cake php کاربرپسند تر بوده یا ویژگی های ذاتی بهتری داشته که باعث شده طیف وسیعی از کاربران را به خودش جلب کنه ;) البته هیچ تعصبی روی این فریم ورک ندارم من :D

تصویر مهدی

سلام.
مطلب بسیار جالب و مفیدی بود. من به تازگی فریمورک CakePHP را انتخاب کرده بودم که دلیل اصلی آن همان سادگی کار و فراگیری بود.
اما حدود ۲ هفته پیش نظرم برگشت (به سفارش یکی از دوستان و البته جستجو‌های بسیار زیاد و اعصاب خورد کن) و نتیجه اینکه بنده هم به Symfony روی آوردم.
آموزش های بسیار خوب در سایت مرجع نیز براحتی شروع کار رو مشخص می‌کنند.

منتظر پست‌های آینده شما در رابطه با این فریم‌ورک قدرتمند هستم.
موفق باشید...

تصویر علی

سلام. وقتی developer های مامبو cake PHP را برای مجتمع کردن با مامبو در نظر می گیرند اون موقع دیگه معلوم میشه که کدوم فریم ورک D:

تصویر سهیلا اسدگل

سلام خانم شاهزاده احمدی

تولدتون مبارک

امیدوارم همیشه تو زندگیتون موفق باشید و سایتون بالای سر شاگردای خوبتون باشه(خنده)

تصویر محمد حسن

سلام
شروع با فریمورک‌ها خیلی سخت هست.

واقعا من می‌خواستم کیک پی‌اچ‌پی رو شروع کنم اما آخرش به این نتیجه رسیدم (کلا خودمو قانع کردم) که خودم یه فریمورک بنویسم و یه نموره هم پیشرفت کرده.

اما خب، ایده‌ام رو دارم از کیک می‌گیرم. مثلا دقیقا MVC هست.

نمی‌دونم نظر شما چیه.

واقعا دلم می‌خواست الان جای کسی باشم که یه فریمورک رو فول هست و فقط کد می‌زنه و از زندگی لذت می‌بره!

یکی از بهونه‌هایی که دارم برای نوشتن از اول یه فریمورک، یاد گرفتن هست! و جدا هم بهانه‌ی خوبیه!!!

ممنون بخاطر مطلبتون. سیمفونی رو دانلود کردم اما......

تصویر شاهزاده احمدی

سلام
من فکر می‏کنم این سختی از آشنا نبودن با OOP و همچنین ندانستن Design Patternها در OOP و پس از آن آشنا نبودن عمیق با MVC که یک Design Pattern به شمار می‏آید، باشد.

نمی‏دانم چقدر با OOP آشنا هستید، ولی شاید بهتر باشد قبلش خوب با مفاهیم OOP آشنا بشوید. کتاب مستقل خاصی در این زمینه وجود ندارد. ولی شاید بد نباشد یک کتاب در زمینه Java یا C# بخوانید تا OOP را خوب بشناسید. معمولا کتابهایی که در بازار هست و ترجمه شده‏اند، خیلی مبهم هستند و سخت می‏شود ازشان چیز یاد گرفت. ولی به هر حال شما باید نخست دانش خودتان را در زمینه OOP کامل کنید. پس از آن فکر می‏کنم باید با Design Patternهای مشهور مانند Singleton, Adapter, Abstract, Iterator, Observer آشنا شد و حتی آنها را پیاده‏سازی هم کرد.

ولی شاید وقتی هنوز تسلط نسبی به یک Framework موجود نداریم، نوشتن یک Framework بر پایه MVC کار درستی نباشد. باز این که فکر می‏کنم می‏شود با Symfony کار کرد بدون این که هیچ کدام از این حرفها را که زدم بلد باشیم. من بهش می‏گویم متدلوژی Ctrl + C , Ctrl + V. در دنیای Hack هم بهش می‏گویند Script Kiddy. اگر چه شاید کمی دست آدم بسته باشد ولی با کمک گرفتن از نمونه‏ها و Tutorialها می‏شود بدون این که درک عمیقی از OOP و Design Patternها داشته باشیم، یک Framework را یاد بگیریم و به کار ببریم. به هر روی، من هم در حال یاد گرفتنم هنوز ... (:

تصویر زمان رضائی

بنظرم فقط خواستید Symfony رو تبلیغ کنید!
من با ZF از نسخه 0.1.3 که اون زمان خیلی خام بود تا الان کار می کنم و حاضر نیستم با هیچ فریم ورک دیگه ای اون رو عوض کنیم
اگه بهش مسلط بشید محاله برید سراغ فریم ورک دیگه ای
ولی قبول دارم یادگرفتنش کمی سخت است چون مخصوص حرفه ها و کسانی هست که oop کد می زنند و تو این کار قهار هستند
با این وجود پستتون برام جالب بود
موفق باشید

تصویر شاهزاده احمدی

راستش من هیچ نسبتی با سیمفونی ندارم که بخواهم تبلیغ خاصی بکنم D: فکر نمی‏کنم دشواری Zend Framework از OOP بودن آن باشد، چون که سیمفونی و حتی CakePHP هم کاملا OOP هستند. چیزی که به نظر من آن را پیچیده کرده است طراحی به شدت استاندارد و مهندسی شده و سطح بالای Zend است. اگر چه این مسئله یکی از نقاط قوت Zend Framework می‏تواند باشد ولی گاهی چنین طراحی استاندارد و مهندسی شده‏ای چندان در یک پروژه به درد برنامه‏نویس نمی‏خورد. در واقع سیستم این طوری طراحی شده است چون که این طراحی بیشتر با مسائل انتزاعی و آکادمیک طراحی نرم‏افزار می‏خورد تا به درد برنامه‏نویس.

در هر حال من هم مثل شما فکر می‏کنم Zend Framework بسیار قدرتمند است. ولی من ترجیح می‏دهم با سیستمی کار کنم که من را مجبور کند تا در یک قالب MVC کار کنم. دقیقا به همین خاطر فکر می‏کنم باید Microsoft را هم به خاطر طراحی نکردن ASP.NET به طور کامل بر پایه MVC سرزنش کنیم.

تصویر ایمان

انتخاب درستی انجام دادین، بسیاری از برنامه نویسان پی اچ پی همین فریم ورک را پیشنهاد میکنند. کلاس های گسترده ای مخصوصاً برای کار با داده ها دارد.

تصویر پیام

عالی بود
موفق باشید

فرستادن دیدگاه تازه

پست الکترونیک شما نمایش داده نشده و به هیچ کسی نیز داده نمی‏شود.