سلام دوستان
چند تا سئوال داشتم که ممنون میشم همشو جواب بدین :
1- فرق بین MVC با فریم ورک های دیگه PHP چیه , آیا MVC هم یکی از فریم ورک های PHP محسوب میشه , نقش Design Pattern این وسط چیه اون چی کار انجام میده ؟؟
2- من تازه می خوام برنامه نویسی اصولی رو یاد بگیرم و در ابتدایه راه قرار دارم , به قبل بنده تنها با کلاس نویسی کارام رو پیش میبردم ولی الان می خوام یکی از فریم ورک های PHP رو انتخاب کنم . می خواستم از اساتید گران بپرسم بدون اینکه تعصبی به فریم ورک خاصی داشته باشن دقیقا منو راهنمایی کنن , بهترین فریم ورک پیشنهادیشون چیه . منظورم از بهترین اینکه بازار کار داخل و خارج از کشور به دنبال کدوم یکی از اوناست . برای من فرقی نداره چون در ابتدایه راه قرار دارم دوست دارم یه انتخاب دقیق داشته باشم و دو روز دیگه نگم ای کاش فلان فریم ورک رو یاد می گرفتم .
یه سرچی هم زدم تو نت دیدم یه سایتی آمار گیری کرده بود و نتایجش رو به این شکل قرار داده بود .
اینم آدرس سایتش :
http://www.sitepoint.com/best-php-framew...ey-results
ممنون میشم راهنمایی کنید
1- MVC فریمورک نیست. یه الگوی طراحیه. Design Patternهایی مثل MVC و HMVC و MVVM و Singleton و Registry و... همگی کمک میکنن تا یه فریمورک شکل بگیره. درواقع فریمورکها از یک یا چند الگوی طراحی برای پیاده سازی ساختار خودشون استفاده میکنن.
2- درحال حاضر بازار کار Yii و Laravel از بقیه بهتره. اینکه بگین کدوم فریمورک بهتره، مثل اینه که بگیم کدوم میوه بهتره. مسلماً هر میوه خواص خودش رو داره و با ذائقه بعضیا جور در میاد ولی اینکه ما از یه میوه خوشمون نیاد باعث نمیشه نتیجه بگیریم میوه خوب و مفیدی نیست. حتی گاهی اوقات ممکنه بخاطر یه بیماری خاص، مجبور باشیم میوه ای رو که دوست نداریم هم طبق دستور پزشک مصرف کنیم. به طور مشابه، ممکنه از فریمورک خاصی خوشمون نیاد ولی معناش، بد بودن اون فریمورک نیست. حتی ممکنه براساس دستور رئیس شرکت یا مدیر پروژه، برحسب نیازهایی که توی پروژه دیده شده، مجبور باشین از فریمورک خاصی استفاده کنید. پس تعصب رو رها کنید و ببینید با کدوم راحتترین و همون رو ادامه بدین.
اما درمورد لینکی که گذاشتین، این سایت سابقه خیلی زیادی توی طرفداری یکجانبه از لاراول داره. نظرسنجی اونها هم بنظر من بنا به دلایل زیر مردوده:
- برای انتخاب فریمورک نباید از نظرسنجی استفاده کرد. نظرسنجی نهایتاً میگه کدوم فریمورک معمولتر و رایجتره و به معنای بهتر بودن نیست. توی ایران اکثراً پراید دارن ولی واقعاً پراید ماشین بهتریه؟ البته این حرفم رو نباید به معنای بد بودن لاراول برداشت کنید. منظور من، اصل برگزاری نظرسنجی برای انتخاب فریمورک بهتر هست که معنا نداره. انتخاب فریمورک باید براساس نیازهای پروژه و با توجه به Benchmarkهای عملی که اجرا میشه، انجام بگیره و مواردی مثل نیازهای پروژه، میزان بهینگی، تسلط تیم توسعه شرکت به فریمورک موردنظر و هزینه ای که باید صرف یادگیری و تسلط به اون بشه (زمان و پول) رو هم مدنظر داشته باشیم.
- آمار نظرسنجی طبق نظر برگزار کنندگان اون، غربال شده و اعلام نشده چند نفر شرکت کردن و نتایج خام اولیه چی بوده. طبیعیه که به نظرسنجی که آمار مستند ارائه نمیده (مثلاً با ارائه ایمیل کسانی که توی نظرسنجی شرکت کردن و همچنین نمایش لحظه ای نظرات برای جلوگیری از حذف نظرات مخالف درصورت لزوم)، نمیشه استناد کرد.
- SitePoint سایت بزرگی هست ولی سایت مرجع و منبعی برای استناد نیست چون مشابه ویکیپدیا، هر کسی میتونه توی اون سایت مقاله و نظرسنجی بگذاره.
- آمار فریمورکهایی مثل Yii و Zend و... رو براساس نسخه های اونها تقسیم کردن درحالی که نتایج Laravel 3,4,5 درکنار هم سنجیده شده.
- میکروفریمورکها رو در کنار فریمورکها مقایسه کردن.
- دقیقاً از لحظه اعلام نتایج بعد از برگزاری نظرسنجی، مدت دو ماه قسمت Community سایت SitePoint بسته بود و باز نمیشد و با یه صفحه سفید مواجه میشدین. درنتیجه نمیشد نظر مخالف یا اعتراضی ثبت کنید. بنظر شما چنین موضوعی توی سایتی با حجم و گستردگی کاربران، به مدت 2 ماه چیزی بجز فرصت گرفتن برای خوابوندن سروصدای اعتراضات رو ثابت میکنه؟ یعنی توی این 2 ماه نمیتونستن مشکل به این سادگی و درعین حال مهمی رو رفع کنن؟
- نظرسنجی بین یه جامعه آماری حدود چند هزار نفر (نهایتاً) برگزار شده درصورتی که جامعه کاربری فریمورکها بالای چند ده میلیون نفر در دنیاست و خیلیها توی نظرسنجیها شرکت نمیکنن.
- آمار کسانی که فقط از یه فریمورک استفاده کردن از نظرسنجی حذف شده درحالی که این نظرسنجی برای مقایسه توسط خود کاربران نبوده که نیاز باشه با چند فریمورک کار کرده باشن. هر کاربری حق داره به فریمورکی که ازش استفاده میکنه رأی بده.
مواردی از این دست زیاده ولی بحث درموردش فایده ای نداره. خلاصه کلام اینکه با هرکدوم راحتترین کار کنید.
چهارچوباشون با هم خیلی فرق داره ؟؟
می خوام بدونم اگه تو رزومم yii باشه ولی جایی باشه که laravel کار احتیاج داشته باشه می تونم درخواست بدم ؟؟
ساختارشون تقریباً میشه گفت با هم متفاوته ولی نه در حدی که یه برنامه نویس واقعی، نیاز به زمانی بیشتر از یکی دو ماه (حداکثر) برای تسلط بهشون داشته باشه.