صفحه 1 از 9 123 ... آخرآخر
نمایش نتایج 1 تا 40 از 341

نام تاپیک: Yii vs Laravel

  1. #1
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    Thumbs up Yii vs Laravel

    سلام
    مطلب زیر رو برای یکی از دوستان فرستاده بودم، گفتم اینجا هم بگذاریمش
    این مطلب مقایسه فریمورک Laravel و Yii هست و البته بیشتر مزایای Laravel


    1- مسیریاب (Router)

    توی لاراول مسیر ها رو میشه بدون اکشن و کنترولر مدیریت کرد

    میشه مسیرهای تو در تو تعریف کرد

    میشه به راحتی دومین و ساب دومین رو مدیریت کرد

    میشه درخواست ها رو بر اساس متد درخواست post, get, delete, put, patch, ... محدود کرد

    میشه برای روت های پارامتریک، مقدار پیشفرض تعریف کرد

    میشه روت ها رو فیلتر کرد

    میشه روت ها رو گروه بندی کرد

    میشه روت ها رو درجا، به یک مدل، کنترولر و یا اکشن خاصی هدایت کرد

    میشه محدود به قوانین خاصی مثل لاگین کردن و یا چک csrf token کرد

    میشه برای روت ها پیشوند تعریف کرد

    میشه کاربر رو به صفحه قبل از لاگین به صورت خودکار هدایت کرد

    میشه بین ریدیرکت ها داده ها رو با یک متد حفط کرد

    و ...



    2- کوئری (Query builder)

    سینتکس تمیز تر (یی 2 هم این شکلی شده)

    قابلیت واکشی سطر دلخواه، ستون دلخواه، سلول دلخواه و ...

    تمام خروجی ها به صورت شی هستند

    2 برابر بودن متد ها در قبال yii برای انواع واکشی

    جوین های تو در تو

    قفل جداول

    کش کردن بی درد سر

    صفحه بندی با یک متد

    ...



    2- مدل (Eloquent)

    در لاراول ولیدیشن اغلب بیرون از مدل استفاده میشه

    سینتکسش تمیز تره User::find یا User::all

    از تمامی متدهای query builder میشه اینجا درجا استفاده کرد

    2 برابر متد بیشتر برای انواع واکشی مدل ها

    قابلیت soft deleting برای تیک زدن رکورد به عنوان حذف شده

    پیاده سازی رابطه ها مثل هلو!

    قابلیت eager and lazy loading

    واکشی آرایه ای و json

    ...


    3- تصدیق هویت

    فقط با یک دستور Auth::attemp

    پیاده سازی واسط مدل کاربر به صورت خودکار Auth::user

    استفاده از هش رندوم کلمه عبور

    لاگین دستی کاربر

    بازیابی کلمه عبور ایمیلی داخلی
    ...


    4- موتور قالب blade

    قابلیت قطعه بندی layout

    کنترول تمام layout از داخل view

    روش ها و میانبر های بسیار ساده و سریع برای تولید html
    ...


    و کلی ویژگی دیگه

  2. #2

    نقل قول: Yii vs Laravel

    توی لاراول مسیر ها رو میشه بدون اکشن و کنترولر مدیریت کرد
    توی Yii هم میشه
    میشه مسیرهای تو در تو تعریف کرد
    توی Yii هم میشه
    میشه به راحتی دومین و ساب دومین رو مدیریت کرد
    ربطی به لاراول نداره. از امکانات htaccess. هست.
    میشه درخواست ها رو بر اساس متد درخواست post, get, delete, put, patch, ... محدود کرد
    توی Yii هم میشه
    میشه برای روت های پارامتریک، مقدار پیشفرض تعریف کرد
    توی Yii هم میشه
    میشه روت ها رو فیلتر کرد
    توی Yii هم میشه
    میشه روت ها رو گروه بندی کرد
    توی Yii هم میشه
    میشه روت ها رو درجا، به یک مدل، کنترولر و یا اکشن خاصی هدایت کرد
    توی Yii هم میشه
    میشه محدود به قوانین خاصی مثل لاگین کردن و یا چک csrf token کرد
    توی Yii هم میشه
    میشه برای روت ها پیشوند تعریف کرد
    توی Yii هم میشه
    میشه کاربر رو به صفحه قبل از لاگین به صورت خودکار هدایت کرد
    توی Yii هم میشه
    میشه بین ریدیرکت ها داده ها رو با یک متد حفط کرد
    توی Yii هم میشه
    سینتکس تمیز تر (یی 2 هم این شکلی شده)
    خودتون گفتین Yii 2 هم این شکلی شده
    قابلیت واکشی سطر دلخواه، ستون دلخواه، سلول دلخواه و...
    توی Yii هم میشه
    تمام خروجی ها به صورت شی هستند
    توی Yii هم همینطوره (مگر در مواردی که نیازی نیست - مثل Count و...)
    2 برابر بودن متد ها در قبال yii برای انواع واکشی
    تعداد متدها مهم نیست. مهم اینه که Yii هم با همون متدهای کمتر، همه اون کارایی ها رو داره
    جوین های تو در تو
    Yii هم داره
    قفل جداول
    Yii هم داره
    کش کردن بی درد سر
    سیستم Cache فریمورک Yii دیگه ضرب المثل شده. حداقل در این مورد، بعنوان امتیاز برای لاراول مطرح نکنید.
    صفحه بندی با یک متد
    توی Yii هم این قابلیت هست
    در لاراول ولیدیشن اغلب بیرون از مدل استفاده میشه
    Validation داده هایی که قراره توی دیتابیس قرار بگیره، دلیلی نداره بیرون از مدل انجام بشه. اونهایی هم که مربوط به دیتابیس نیست، توی Yii هم بدون وجود قابل Validate کردن هستن
    سینتکسش تمیز تره User::find یا User::all
    توی Yii 2 این تغییرات انجام شده
    از تمامی متدهای query builder میشه اینجا درجا استفاده کرد
    توی Yii هم میشه
    2 برابر متد بیشتر برای انواع واکشی مدل ها
    قبلاً گفتم تعداد متدها مهم نیست. مهم اینه که توی Yii با همون متدهای کمتر، همه کار میشه انجام داد.
    قابلیت soft deleting برای تیک زدن رکورد به عنوان حذف شده
    قابلیت مهمی نیست. میشه بصورت نرم افزاری (یک فیلد در دیتابیس) پیاده سازی کرد.
    پیاده سازی رابطه ها مثل هلو!
    Relationهای Yii مثل هلوی پوست کنده است.
    قابلیت eager and lazy loading
    توی Yii هم وجود داره.
    واکشی آرایه ای و json
    توی Yii هم چنین امکانی وجود داره
    فقط با یک دستور Auth::attemp
    توی Yii هم بصورت Yii::user->authenticate انجام میشه
    پیاده سازی واسط مدل کاربر به صورت خودکار Auth::user
    توی Yii هم کامپوننت User بصورت خودکار پیاده سازی میشه
    استفاده از هش رندوم کلمه عبور
    قابلیت مهمی نیست. با یک متد ساده میشه پیاده سازیش کرد.
    لاگین دستی کاربر
    توی Yii هم قابل انجامه.
    بازیابی کلمه عبور ایمیلی داخلی
    توی Yii هم قابل انجامه
    موتور قالب blade
    موتور قالب رو میشه به راحتی در Yii تغییر داد. بعلاوه Yii بطور داخلی از Twig که بهینه تر از Blade هست، پشتیبانی میکنه.
    قابلیت قطعه بندی layout
    Yii علاوه بر این قابلیت، توانایی سلسله مراتبی کردن Layout رو هم داره
    کنترول تمام layout از داخل view
    منظورتون رو متوجه نشده ولی اگه منظورتون اینه که View میتونه ساختار Layout رو تغییر بده، این مسئله کاملاً غیر منطقیه. مثل اینه که بگیم از توی یک تابع میتونیم کدهای بیرون از تابع رو تغییر بدیم و این رو بعنوان امتیاز مطرح کنیم.
    روش ها و میانبر های بسیار ساده و سریع برای تولید html
    این قابلیتها در Yii هم هست (کلاس CHtml و...)
    و کلی ویژگی دیگه
    بیان کنید تا بدونیم.
    -----
    ابداً دوست ندارم باز یک عده بیان فکر کنن درمقابل لاراول جبهه گرفتم یا دارم بی دلیل از Yii دفاع میکنم. وقتی قراره مقایسه بشه، فقط یک صفحه متن ننویسید. با دلیل بگین این کار توی فلان سیستم میشه و توی فلان سیستم نمیشه تا ببینید جواب با دلیل ارائه میشه یا نه. Yii و Laravel هر دو فریمورکهای خوبی هستن ولی این دلایلی که گفتین، امتیاز خاصی برای لاراول درمقابل Yii ایجاد نمیکنه چون Yii هم این قابلیتها رو داره.

  3. #3

    نقل قول: Yii vs Laravel

    شاید از نظر تفاوت، فرق خاصی هم نداشته باشن ولی مهم نوع استفاده توسط یه برنامه نویس هستش. من با اینکه خیلی سعی کردم به عنوان یک تازه کار فریم ورک با Yii کنار بیام نتونستم و واقعا هم دوستش داشتم و ازش لذت میبردم ولی با لاراول خیلی خیلی راحت کنار اومدم.
    مهم هم همینه. نه اینکه بگیم تو Yii هست تو laravel نیست. برعکسش هم صادقه. البته این مورد رو هم توجه کنید که rezakho حدود ۲ سال با Yii کار کردن.

    موفق باشید

  4. #4

    نقل قول: Yii vs Laravel

    درسته. سابقه کارکرد با هر دو خیلی در مقایسه منصفانه مؤثره به شرطی که با آخرین تغییرات در نسخه های جدید هم تجربه کارکرد داشته باشیم. برای مثال، اگه من دو سال قبل با NET. کار کرده باشم و بیام با امروز PHP مقایسه کنم، یک قیاس اشتباه رو انجام دادم.

  5. #5

    نقل قول: Yii vs Laravel

    این مقایسه ها بد نیست و گاهی کمک میکنه با قابلیت های فریم ورک ها آشنا بشیم . کلا این بحث ها زیاد هم بد نیست . ولی این مقایسه ایی که انجام دادین به نظر من اشتباهه . شما می بایستی مزایا و معایب هرکدام , به دیگری رو لیست می کردین ... دیگه مقایسه هم باید براش وقت بذاری وگرنه نشه بهتره . تجربیات شخصی خودتون رو هم با هرکدام میشد بگین .کتابخانه های هردو رو میشد بررسی کرد .

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    به به
    آقای شهرکی اگر میدونستم اینجوری جواب میدید اصلا پست نمیزدم!!!
    منظورم اینه که اگر جسارت نباشه به جای این همه "توی Yii هم میشه"، می تونستید در یک جمله بگید این قابلیت ها رو هم در Yii میشه پیاده کرد.
    ضمنا بالا هم گفتم این مقایسه نیست و بیشتر امکانات لاراول هست!!!
    من فقط 2 جا از Yii اسم بردم و یکیش هم به نیکی بوده :)
    به هر حال ممنون :)

    ولی
    موارد بالا رو من بر طبق تجربه میگم
    یک نکته ای رو هم توی این 8 سال برنامه نویسی یاد گرفتم، و اون اینه که هرگز تعصب نداشته باشم، هرگز!
    البته مقصودم این نیست که بگم شما یا دیگر عزیزان تعصب دارید، به هیچ وجه
    چندین سال پیش، اون اوایل، خیلی بحث بالا میگرفت با دوستان سر اینکه کدام زبان بهتره، ولی الان اگر از من همون سوال رو بپرسند، خواهم گفت: هیچ فرقی در 90 درصد موارد نمیکنه و کاملا سلیقه ای هست، مگر موارد بسیار بسیار خاص!
    وقتی میخواستم سراغ Yii برم، خیلی تحقیق کردم، و انتخاب کردم که روی Yii کار کنم
    بعد از کار با Yii، متوجه اشکالات و ضعف ها و دست و پا گیر های Yii شدم، که اگر این اشکالات از نظر من درست نبود، هیچ وقت نسخه 2 این فریم ورک اینقدر تغییر نمیکرد، پس اشکالات از نظر برنامه نویس ها منطقی بود و تیم توسعه Yii هم این رو متوجه شدند و تغییرات اساسی رو شروع کردند
    مواردی که آقای شهرکی گفتند تقریبا درست هست، ولی این نکته رو شاید فراموش کردند که هر ویژگی رو میشه به هر کد، کتابخونه و یا فریم ورکی اضافه کرد، ولی من خصوصیات ذاتی این فریم ورک رو توضیح دادم نه اونچه میشه بهش اضافه کرد!

    Yii در عین اینکه فریم ورک سطح بالایی شناخته میشه، در سفارشی کردنش خیلی اذیت میکنه برنامه نویس رو و میشه گفت در کارهای معمول و تکراری خیلی سریع هست، اما مهمترین مزیت لاراول پیچیدگی کمتر و باز گذاشتن دست برنامه نویس در سفارشی سازی و پیاده سازی تکنیک های خاص هست!
    مثلا گرید در Yii اگر چه در ظاهر با Ajax میتونه کار کنه، ولی با روش خیلی مسخره ای این کار رو انجام میده، چطور؟ به این صورت که کل پیج رو با ajax در خواست میده و با متدهای DOM اون قسمت مربوط به گرید رو میکشه بیرون و گرید رو به روز میکنه، حالا واقعا میشه از این مورد دفاع کرد؟؟؟

    من به مستندات هر دو تقریبا اشراف دارم، و از پست های پی در پی هم بدم میاد، ولی اگر لازم شد میتونم مورد به مورد مقایسه رو انجام بدم
    آخرین ویرایش به وسیله rezakho : دوشنبه 28 بهمن 1392 در 20:45 عصر

  7. #7

    نقل قول: Yii vs Laravel

    دوست عزیز، مواردی که من گفتم Yii داره رو با توجه به خصوصیات ذاتی این فریمورک گفتم. شما مورد به مورد اون چیزی که در Laravel هست رو بگین تا من هم معادل Yii اون رو بگم و با هم به یک نتیجه منطقی برسیم. قطعاً Yii و هر پروژه دیگری کامل نیست و بخاطر همین مسائله که نسخه های جدید تولید میشه و بهتره به دور از جدال و جنجال و ناراحتی، مقایسه موردی انجام بدیم تا اگه کسی با یکی از این دو کار کرده باشه و بخواد یکی دیگه رو هم تجربه کنه، این تاپیک کمکی باشه برای معادلسازی. برای مثال من خودم از کامپوننت Grid خود Yii استفاده نمیکنم ولی طراحی یک کامپوننت اختصاصی توی Yii حقیقتاً اینقدر ساده هست که این مورد رو بعنوان ضعف فریمورک مطرح نکنیم. درمقابل شاید توی Laravel این موضوع به راحتی Yii نباشه (گفتم شاید).

  8. #8
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    باشه قبول
    اگر صلاح میدونید یک تاپیک جدید باز بشه یا که نه همین جا مورد به مورد بریم جلو ؟

  9. #9

    نقل قول: Yii vs Laravel

    فرقی نمیکنه. با توجه به عنوان تاپیک، میتونیم همینجا ادامه بدیم.

  10. #10
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    خوب من از موارد بالا شروع میکنم
    در لاراول میشه به طریق زیر، درخواست رو بدون کنترولر و اکشن هندل کرد
    البته بحث مقایسه هست، یعنی کد کمتر و تمیز تر با پیچیدگی کمتر

    Route::get('hello',function(){
    return 'hello';
    });


  11. #11

    نقل قول: Yii vs Laravel

    لطفاً منظورتون رو دقیقتر بیان کنید. الآن این کد قراره آدرس mysite.com/hello رو مدیریت کنه؟ اگه اینطوره، کاملاً غیر اصولیه چون توی MVC باید همه درخواستها به کنترلرها ارجاع داده بشه. توی Yii میتونید برای این کار، یک کلاس کلی بنویسید و درخواستهای مختلف رو به اون ارجاع بدین و اونجا، Route رو بررسی کنید (مثل کلاس Pages مثال Skeleton خود Yii که صفحه About و... رو مدیریت میکنه). دقت کنید که هر سادگی توی فریمورک به معنای یک قابلیت خوب نیست. اینکه من گفتم توی Yii هم این مسئله میشه، بخاطر این بود که میشه یک کلاس کلی برای اکشنهای متفرقه نوشت و با دستوراتی مثل $this->id و $this->action->id کنترلر و اکشن درخواست شده رو بدست آورد و براساس اونها کار لازم رو انجام داد یا اصلاً براشون Switch نوشت. حتی میشه با $this->route کلاً مسیر Route واردشده توسط کاربر رو گرفت و تفسیر کرد.
    -----
    پی نوشت: دقت کنید که مهمترین وظیفه یک فریمورک، اصولی انجام دادن کارهاست نه صرفاً ساده کردن کار برنامه نویس، به هر قیمتی. اگه قراره MVC کار بشه، تأکید میکنم باید همه درخواستها به کنترلرها فرستاده بشن. خود Router نباید سرخود کد تعریف کنه.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    بله، کد بالا درخواست mysite.com/hello رو هندل میکنه
    ولی شما طوری صحبت میکنید که انگار MVC وب هست و وب MVC !!!
    خودتون خوب میدونید MVC یکی از چندین معماری تفکیک منطق هست، حالا برخی پروژه ها وجود دارند که نیازی نیست با این معماری پیاده سازی بشند، مثلا راه اندازی برخی سرویس های تحویل محتوا و یا سرویس های کش و ... نیازی به بخش مدل و ویو ندارند، بلکه هدف پیچیدگی کمتر و کارایی بالا با کمترین کد هست
    پس این یک مزیت برای لاراول هست که Yii فاقد این ویژگیه

  13. #13

    نقل قول: Yii vs Laravel

    از شما که تو این حرفه با سابقه هستین این حرفها واقعاً بعیده. MVC کل وب نیست. وب هم همه اش توی MVC خلاصه نشده ولی وقتی کسی از فریمورک استفاده میکنه، دیگه از برنامه نویسی اسپاگتی باید فاصله گرفته باشه وگرنه فایده فریمورک چیه؟ کلی امکانات در اختیارمون بگذاره ولی استفاده نکنیم چون میخوایم بی قید و بند کد بنویسیم؟ توی Yii هم میشه اکشنهایی رو توی کنترلرها تعریف کرد که ویو و مدل ندارن. این مسئله ربطی به موضوع بحث نداره که میگین Yii فاقد این ویژگیه. من میگم درخواستهای کاربر باید به کنترلر ارجاع داده بشه. حالا خیلی میخوایم مثل سیستم سنتی عمل کنیم، فوقش یک کنترلر کلی مینویسیم و همه اکشنهای خاص رو به اون کنترلر ارجاع میدیم. این کار در Yii قابل انجامه ولی نه به اون شکل بی در و پیکری که لاراول داره انجام میده. اگه یک فریمورک بخواد اجازه بده هرجور دلمون میخواد کد بنویسیم، اونوقت امتیاز اصلی فریمورک که باعث افزایش قابلیت کار تیمی میشه رو از دست میدیم چون معلوم نیست هر کسی چطوری کد نوشته و کد پاسخ دهنده به هر درخواست مختلف رو باید کجای پروژه دنبالش بگردیم! برای مثال که بدونید این مسئله در Yii به چه شکل بدون مدل و ویو قابل انجامه، بگذارین نسخه معادل کاری که شما توی لاراول گفتین انجام میشه رو بگذارم تا دوستان قضاوت کنن کار کدوم، اصولیه:
    1- توی تنظیمات، urlManager رو فعال میکنیم:

    'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'caseSensitive'=>false,
    'rules'=>array(
    'hello'=>'dirtyCoding/hello',
    ),
    ),

    2- کنترلر DirtyCodingController رو میسازیم:

    <?php
    class DirtyCodingController extends Controller
    {
    public function actionHello()
    {
    echo 'Hello';
    }
    }

    یا اگه بخوایم Style صفحات (Layout) هم حفظ بشه اینطوری میتونیم کار کنیم:

    <?php
    class DirtyCodingController extends Controller
    {
    public $layout = '//layouts/column1';
    public function actionHello()
    {
    $this->renderText('Hello');
    }
    }

    حالا کافیه هر کدی که میخوایم با MVC معمول کار نکنه رو به این کنترلر اضافه کنیم و Rule مربوطه رو هم توی تنظیمات برنامه معرفی کنیم. درسته که بازهم از MVC به ظاهر خارج شدیم ولی حداقل اگه یکی دیگه از اعضای تیم بیاد پروژه رو نگاه کنه، خیلی راحت با نگاه به تنظیمات برنامه میتونه ببینه کدوم فایل و کدوم متد داره به درخواست mysite.com/hello جواب میده.
    باز هم تأکید میکنم: کمک کردن به کاربران جهت نوشتن کد بی نظم و اسپاگتی، قابلیت نیست، نقطه ضعفه.
    آخرین ویرایش به وسیله MMSHFE : چهارشنبه 30 بهمن 1392 در 20:53 عصر دلیل: تکمیل توضیحات

  14. #14
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    قرار نیست از همه امکانات یک فریم ورک استفاده بشه، ما فقط داریم در این مورد، از روت ساده حرف میزنیم
    نمیدونم، اگر نقطه ضعف هست که Symfony و Slim و Silex و Fuel و kohana و .... همه اینجوریند!!!
    این مورد رو بگذریم و بگذاریم دیگران قضاوت کنند

  15. #15
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    مورد دوم
    دسته بندی روت ها
    به روش زیر میشه چندین درخواست رو در یک گروه گذاشت و حتی چند سطح جلو رفت
    (فقط بحث سر دسته بندی هست، فعلا به اکشن و کنترولر کاری نداریم، به اونها هم میرسیم)

    در کد زیر تمام درخواست هایی که با admin شروع میشه در یک دسته قرار دارند

    Route::group(array('prefix'=>'user'), function()
    {
    Route::get('login', function()
    {
    // user/login
    });

    Route::get('logout', function()
    {
    // user/logout
    });
    });



    حتی میشه یک فیلتر خاص مثل احراز هویت رو به این دسته بندی داد

    Route::group(array('prefix'=>'user', 'before'=>'auth'), function()
    {
    Route::get('login', function()
    {
    // user/login
    });

    Route::get('logout', function()
    {
    // user/logout
    });
    });

  16. #16

    نقل قول: Yii vs Laravel

    خوب این مورد هم که گفتم با توجه به اینکه درخواستها در Yii به سمت کنترلر میره، عملاً نیازی نیست چون به راحتی میشه توی کامپوننت urlManager مسیردهیها رو مشخص کرد. گویا قابلیت Route::get در لاراول خیلی به زعم شما سودمند اومده. وقتی درخواستها توسط کنترلرها مدیریت بشن، عملاً گروه بندی actionها داره اتفاق میفته و نیازی نیست یکی یکی با توابع بدون نام، کار کنیم. ازطرفی در Yii توی کنترلر موردنظر میشه برای یک/چند/همه actionها فیلترهای موردنظر رو روی قبل یا بعد از هر عمل موردنظر، نصب کرد.

  17. #17
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    نه، شما درست متوجه قابلیت های گروه بندی نشدید، این جمله من "(فقط بحث سر دسته بندی هست، فعلا به اکشن و کنترولر کاری نداریم، به اونها هم میرسیم)" دقیقا منظورم این بود که به روت ها که اکشن هستند یا کلوژر کاری نداشته باشید
    ببینید، فرض کنید همچین آدرس هایی دارید


    http://domain.com/en/admin
    http://domain.com/en/admin/login
    http://domain.com/en/admin/logout

    http://domain.com/fa/admin
    http://domain.com/fa/admin/login
    http://domain.com/fa/admin/logout

    http://domain.com/en/admin/user
    http://domain.com/en/admin/user/profile
    http://domain.com/en/admin/user/edit
    http://domain.com/en/admin/user/update

    http://domain.com/fa/admin/user
    http://domain.com/fa/admin/user/profile
    http://domain.com/fa/admin/user/edit
    http://domain.com/fa/admin/user/update


    شما با Yii این رو بنویسید، تا من بگم چه فرقی با لاراول داره

  18. #18

    نقل قول: Yii vs Laravel


    'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'caseSensitive'=>false,
    'rules'=>array(
    '<lang:(en|fa)>/admin/index'=>'admin',
    '<lang:(en|fa)>/admin/<action:(login|logout)>'=>'admin/<action>',
    '<lang:(en|fa)>/admin/user/<id:\d+>'=>'admin/user_view',
    '<lang:(en|fa)>/admin/user/<action:(profile/edit/update)>/<id:\d+>'=>'admin/user_<action>',
    ),
    ),

    من برحسب نظر خودم، برای اکشنهای user شناسه id کاربر رو هم اضافه کردم چون حدس زدم منظورتون ویرایش اطلاعات کاربران در بخش مدیریته و شناسه id یادتون رفته بنویسید.
    الآن توی اکشنهای index و login و logout و user با پارامتر lang$ میشه فهمید چه زبانی انتخاب شده بوده و توی اکشنهای user_profile و user_edit و user_update علاوه بر این پارامتر، با id$ هم میشه شناسه id کاربر رو بدست آورد.
    آخرین ویرایش به وسیله MMSHFE : چهارشنبه 30 بهمن 1392 در 21:37 عصر دلیل: تکمیل توضیحات

  19. #19
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    بله، از جزئیات که بگذریم، ببینید لاراول تا N سطح میتونه دسته بندی رو انجام بده، الان در Yii اگر تعداد rule ها زیاد باشه باید برای همه lang رو تعریف کرد، یا admin رو هم باید تکرار کرد
    ولی کد زیر که البته من از جزئیات زدم رو ببینید

    Route::group(array('prefix'=>'{lang}/admin'), function($lang)
    {
    Route::group(array('prefix'=>'user/{id}'), function($id)
    {
    //for {lang}/admin/user/{id} prefix ({lang}/admin/user/{id}/...)
    });

    //for {lang}/admin prefix ({lang}/admin/...)
    });


    حتی میشه چندین کنترولر رو درون یک گروه جا داد و برای همه، یکبار قوانینی رو وضع کرد بدون اینکه بخوایم توی کنترولر دست ببریم
    آخرین ویرایش به وسیله rezakho : پنج شنبه 01 اسفند 1392 در 23:40 عصر

  20. #20

    نقل قول: Yii vs Laravel

    خوب این گروهبندی اگه اکشنها به کنترلر ارجاع داده بشن، عملاً اینقدر سطح برای گروهبندی لازم نیست و میشه با نوشتن Ruleهای مناسب و کلی تر، تعداد Ruleها رو کاهش داد. بهرحال فکر میکنم قضاوت درباره این موضوع رو هم باید به سایرین واگذار کنیم چون من شخصاً ساختار Yii رو بیشتر میپسندم و کلاً توی یک فریمورک، تعریف تابع بی نام و عدم استفاده از ساختار مناسب برای الگوی طراحی و کدنویسی اسپاگتی رو نمیپسندم.

  21. #21
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    عرض کردم که به کنترولر و اکشن میرسیم، اینجا فقط منظور دسته بندی بود، وگرنه برای ارسال درخواست ها به کنترولر میشه نوشت Route::controller که دقیقا مثل Yii کار میکنه

  22. #22

    نقل قول: Yii vs Laravel

    اینو میدونم. میگم تنها امتیازی که این گروهبندی ایجاد میکنه در کاربرد Route::get هست و استفاده از توابع بی نام وگرنه وقتی اکشنها به کنترلرها ارجاع داده بشن، عملاً گروهبندی انجام میشه و دیگه نیازی به اینهمه سطح نیست. بخاطر همینه که Yii چنین موردی رو پیاده سازی نکرده چون همه چیز رو در قالب MVC میبینه و گروهبندی اکشنها بطور پیشفرض انجام شده.

  23. #23
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    http://reza.biz
    پست
    858

    نقل قول: Yii vs Laravel

    سلام .
    میشود یک کلاس برای هندل کردن url ها نوشت .
    'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false ,
    'rules'=>array(
    array(
    'class' => 'application.components.MyUrlRule',
    'connectionID' => 'db',
    ),
    '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
    '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

  24. #24
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    خوب، مورد سوم

    در لاراول به دو طریق مسیرها رو میشه به کنترلر هدایت کرد
    موردی که می خوایم در موردش صحبت کنیم Route::controller هست
    در این مورد، برای چک کردن نوع متد HTTP ، به ابتدای نام اکشن، نام متد اضافه میشه، به جای اینکه مثل Yii، داخل اکشن با if نوع متد رو بررسی کنیم، ضمن اینکه این روش Yii رو هم داره

    در لاراول

    class UserController extends BaseController
    {
    public function getIndex()
    {
    //
    }

    public function postUpdate()
    {
    //
    }
    }



    در یی

    class UserController extends Controller
    {
    public function actionIndex()
    {
    //
    }

    public function actionUpdate()
    {
    if(Yii::app()->request->isPostRequest){
    //
    }
    }
    }


    حالا کدام ترتمیز ترند؟

  25. #25
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    http://reza.biz
    پست
    858

    نقل قول: Yii vs Laravel

    به نظر خودتون توی Yii دستتون بازتر نیست ؟
    توی همین مقایسه خودتون یه نگاه بندازید :)

    البته بهتون پیشنهاد میکنم مواردی که مورد قیاس انجام میدید رو یه خورده سطح بالاتر در نظر بگیرید مثل اون به چالش کشیدن روتر واقعا جالب بود ولی این مورد زیاد چیز شاخی نیست .
    برید توی کار مدل ها و AR ببینیم لاراول چه کرده :)

  26. #26
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    آقا رضا! آهسته آهسته

  27. #27

    نقل قول: Yii vs Laravel

    اینکه توی Yii اکشنها با کلمه action شروع میشن باعث شده راحتتر اکشنها از سایر متدهای داخلی کنترلر تشخیص داده بشن. ازطرفی میشه با فیلترها یک اکشن خاص رو فقط محدود به نوع خاصی از درخواستها کرد. مثال:

    public function filters()
    {
    return array(
    'accessControl', // perform access control for CRUD operations
    'postOnly + delete',
    );
    }

    حالا شما بگین کدوم تمیزتره:
    لاراول:

    public function postIndex()
    {
    // post action here
    }
    public function getIndex()
    {
    // get action here
    }

    Yii :

    public function actionIndex()
    {
    if(Yii::app()->request->isPostRequest()) {
    // post action here
    }
    else {
    // get action here
    }
    }

  28. #28

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط rezakho مشاهده تاپیک
    آقا رضا! آهسته آهسته
    درست میگن آقا رضا. اجازه بدین، فعلاً فقط داریم از Yii درمقابل نقاط ضعفی که گفتن Yii درمقابل لاراول داره دفاع میکنیم. نوبت حمله هم میرسه.

  29. #29
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    حمله!!!

    بگذریم

    1- روش اضافه کردن متد http به ابتدای نام اکشن ها، یکی از روش ها در لاراول هست که به بعدی ها هم میرسیم
    2- در کنترلر طبق همون قواعد سختی که خودتون درگیرشید، غالبا متدها اکشن هستند، وقتی میگیم غالبا دیگه چه نیازی هست کلمه action مرتب تکرار بشه بی خودی، در چند مورد شما متدهایی به غیر از اکشن به کنترلر اضافه میکنید؟، تعدادشون نسبت به اکشن ها چقدر هست؟
    3- لاراول اون کدی رو که شما تمیز فرض کردید رو اینجوری در میاره

    در یی

    public function actionIndex()
    {
    if(Yii::app()->request->isPostRequest()) {
    // post action here
    }
    else {
    // get action here
    }
    }


    در لاراول

    public function index()
    {
    if(Request::isMethod('post')) {
    // post action here
    }
    else {
    // non-post action here
    }
    }
    آخرین ویرایش به وسیله rezakho : جمعه 02 اسفند 1392 در 09:47 صبح

  30. #30

    نقل قول: Yii vs Laravel

    1- هرموقع رسیدیم، بحثش رو مطرح کنید ولی بهرحال قابلیت خاص و ویژه ای نیست که خیلی اهمیت داشته باشه و Yii هم با فیلترها همین کار رو میتونه انجام بده.
    2- خیلی زیاد. توی کنترلرها معمولاً من یکسری متدهای واسطه دارم که کارها رو بعهده اونها میگذارم و اکشنها اکثراً از اون متدها استفاده میکنن و درنتیجه از بیرون نباید قابل دسترسی مستقیم باشن. اینطوری اگه قرار باشه الگوریتم کار تغییر کنه، مستقیماً اکشنها رو تغییر نمیدم بلکه یک متد مشترک تغییر میکنه و همه اکشنهای مرتبط با اون، بطور خودکار اصلاح میشن.
    3- خوب پس تا اینجا، به این نتیجه رسیدیم که این قابلیت در هر دو فریمورک وجود داره. حالا لاراول میاد علاوه بر action از کلمات get و post هم بعنوان پیشوند برای محدودکردن نوع دسترسی به یک اکشن استفاده میکنه و Yii بجاش از فیلترها برای اینکار استفاده میکنه ولی اونچه که مهمه اینه که این قابلیت در هر دو فریمورک هست و لاراول اونطوری که در پست اول گفتین، چیزی بیشتر از Yii نداره. اینکه کدوم Syntax بهتره رو هم بگذاریم بعهده بازدیدکنندگان و استفاده کنندگان از این فریمورکها چون هرچقدر من و شما درموردشون بحث کنیم، یک بحث سلیقه ای خواهیم داشت که فایده ای هم نداره. هدفمون هم از این مقایسه، ایجاد یک تاپیک مرجع برای قیاس قابلیتهای فریمورکهاست نه بحث بیهوده. البته درمورد اون علامت «متفکر» که اول پست قبلیتون گذاشتین هم باید بگم بله، البته نه حمله به معنای مخربش بلکه به این معنا که بعداً من هم قابلیتهای خاص Yii رو مطرح میکنم ببینیم لاراول چند مرده حلاجه و اگه دارای اون قابلیتهاست، مکانیزم پیاده سازیش چطوریه.

  31. #31

    نقل قول: Yii vs Laravel

    نمی‌خوام بپرم وسط بحث شما. فقط تجربه‌ی خودم رو بگم.
    من بعد از اینکه yii رو انتخاب کردم با یه سری از چیزها مشکل داشتم مثل اینکه چرا مثلا به جای user::find داشته باشیم user::midel()->find. کم کم با لاراول آشنا شدم و مجذوب سینتکس و سادگیش(عدم پیچیدگی نه اینکه سادگی یاد گرفتن). تا اینکه لاراول ۴ اومد سینتکس همچنان دلنشین ولی در پشت پرده واسه رسیدن به این سینتکس ساده کلی پیچیدگی ایجاد شده بود. مثلا باز می نوشتیم user::find ولی متد استاتیک find وجود نداشت و متد معمولی بود. خلاصه اینکه درک عملکرد برنامه با نگاه به کد به شدت سخت شده بود ونمی‌تونستم تحملش کنم تا اینکه yii2 نسخه پیش‌نمایش عمومی و سپس آلفا منتشر شد با سینتکس دلنشین و عدم پیچیدگی و اینطوری شد که به سمت yii برگشتم.

  32. #32
    کاربر دائمی آواتار metal gear solid 4
    تاریخ عضویت
    مهر 1387
    محل زندگی
    مشهد
    پست
    307

    نقل قول: Yii vs Laravel

    جناب مدیر این طرز جواب دادن شما در نوع خودش جالبه. اولش مطرح میکنید که بیاید دونه دونه قابلیت هارو بررسی کنیم اما توی تمامی مورد هایی که تا حالا اشاره شده یا جوابتون این بوده که عملاً نیازی نیست یا قابلیت خاص و ویژه ای نیست و میشه پیاده سازیش کرد!!!
    هر چیزی رو میشه پیاده سازی کرد. حتی یک فریمورک جدید. مهم اینه این دو فریم ورک در هسته ی خودشون چی دارن. چقدر ساده باشند. چقدر تمیز باشند... !

  33. #33

    نقل قول: Yii vs Laravel

    دوست عزیز، تمیز بودن یه حرفه، اصولی بودن یه چیز دیگه است. اینکه یک فریمورک به کاربران کمک میکنه مثل سیستم قدیم، کد بدون MVC و کلاً ساختار لایه بندی شده بنویسن، مزیت نیست. اینکه یک فریمورک با کمک پیشوندها متدها رو تفکیک کنه هم قابلیت مهمی نیست چون برای مثال Yii هم با کمک فیلترها و روشهای خاص خودش، این قابلیت رو داره. منتها استارتر جوری توی پست اول اینها رو فهرست کردن که گویا Yii اصلاً این موارد رو نداره. حالا هم چیزی نشده، دو سه مورد از قابلیتها رو گفتن و نسخه معادل Yii رو گفتم چی بوده. اتفاقاً با کسانی که تاپیک رو مطالعه کردن، صحبت کردم و اکثراً معتقد بودن که ساختار Yii اصولیتره و اگه بهش عادت کنیم، کدمون تمیزتر در میاد. حالا شاید ازنظر شما تمیزی اینه که کدتون یک خط بشه ولی ازنظر خیلیها، تمیزی یعنی اینکه کدتون اصولی باشه. اصلاً فریمورک معناش همینه: چهارچوب کاری! حالا اینکه فریمورک شما رو در مسیر کدنویسی غیر اصولی و سنتی کمک میکنه، مزیته یا عیب؟ اینکه بدون ساختار چندلایه توی یک فریمورک بشه اکشنها رو مدیریت کرد، فوق العاده غیر اصولی و ناشیانه است.
    حالا بگذارین مواردی که دوستمون فهرست کردن تمام بشه، میرسیم سر امکانات خاص Yii که ببینیم لاراول توی پیاده سازی اونها چه کاره است. امیدوارم این فریمورک هم ساختار خوبی ارائه کرده باشه که کاربرانش از این بابتها متضرر نشن.

  34. #34
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اراک
    پست
    409

    نقل قول: Yii vs Laravel

    خوب مورد بعد
    این موارد که در پایین میاد، جز مواردی هست که در لاراول به راحتی تمام میشه انجامش داد

    1- ست کردن یک الگوی عمومی در تمام روت ها، مثلا الگوی id در تمام روت ها عدد شناخته بشه

    Route::pattern('id', '[0-9]+');


    2- در لاراول متغیر های POST رو هم میشه به عنوان پارامتر به اکشن یا ... ارسال کرد

    3- در لاراول میشه فیلتر خاصی رو براساس الگوی url روی همه یا برخی از url ها به همراه نوع متد http اعمال کرد

    Route::when('admin/*', 'filters', array('http verps'));


    4- در لاراول امکان نام دادن به روت ها برای راحت تر کردن مسیر دهی و یا تولید url ها وجود داره
    کد زیر مسیری با آدرس admin رو با هر نوع متد http به اکشن index از کنترلر panel با نام dashboard هندل میکنه

    Route::get('admin', array('as' => 'dashboard', 'uses' => 'PanelController@index'));


    که به صورت زیر میشه بدون نام اکشن و ... ، فقط با نام روت ریدایرکت کرد یا آدرس رو بدست آورد

    $redirect = Redirect::route('dashboard');
    $url = URL::route('dashboard');


    5- برای هندل کردن ساب دومین هم که خیلی زیبا!

    Route::group(array('domain' => '{account}.myapp.com'), function($account)
    {

    // $account is here

    });


    6- به شکل زیر میشه یک مدل رو به url متصل کرد، به نحوی که مدل خودش اوتوماتیک لود بشه

    Route::model('user', 'User');

    Route::get('profile/{user}', function(User $user) {
    });


    اگر آدرسی مثل profile/1 زده بشه، مدل به صورت اوتوماتیک در $user لود خواهد شد، و اگر مدل وجود نداشته باشه هم میتونیم مشخص کنیم چه اتفاقی بیافته
    آخرین ویرایش به وسیله rezakho : شنبه 03 اسفند 1392 در 20:06 عصر

  35. #35

    Post نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط rezakho مشاهده تاپیک
    1- ست کردن یک الگوی عمومی در تمام روت ها، مثلا الگوی id در تمام روت ها عدد شناخته بشه

    Route::pattern('id', '[0-9]+');
    'rules'=array(
    '<_c>/<_a>/<id:\d+>'=>'<_c>/<_a>',
    );

    2- در لاراول متغیر های POST رو هم میشه به عنوان پارامتر به اکشن یا ... ارسال کرد
    توی Yii هم این امکان هست و بطور داخلی اعمال میشه. مثلاً اگه من بگم:

    public function actionDelete($id) {
    ...
    }

    اونوقت id چه با Post ارسال بشه چه با Get، کار میکنه مگه اینکه با filters مشخص کنم که این اکشن فقط به یکی از این روشها باید جواب بده. البته محدودیت در دسترسی رو با rules خود urlManager هم میشه انجام داد:
    'rules'=array(
    array('user/delete', 'pattern'=>'user_delete/<id:\d+>', 'verb'=>'POST');
    );

    3- در لاراول میشه فیلتر خاصی رو براساس الگوی url روی همه یا برخی از url ها به همراه نوع متد http اعمال کرد

    Route::when('admin/*', 'filters', array('http verps'));
    توی Yii هم چنین امکانی وجود داره:
        public function filters()
    {
    return array(
    'postOnly, projectContext + create update index'
    );
    }

    4- در لاراول امکان نام دادن به روت ها برای راحت تر کردن مسیر دهی و یا تولید url ها وجود داره
    کد زیر مسیری با آدرس admin رو با هر نوع متد http به اکشن index از کنترلر panel با نام dashboard هندل میکنه

    Route::get('admin', array('as' => 'dashboard', 'uses' => 'PanelController@index'));


    که به صورت زیر میشه بدون نام اکشن و ... ، فقط با نام روت ریدایرکت کرد یا آدرس رو بدست آورد

    $redirect = Redirect::route('dashboard');
    $url = URL::route('dashboard');
    توی Yii هم میشه و اتفاقاً خیلی هم ساده تره:
    'rules'=array(
    'dashboard/<action:.+>'=>'panel/<action>',
    );

    نکته: توی Yii اگه خاصیت routeOnly برای routeها ست نشه (حالت پیشفرض)، هم برای تولید لینک و هم برای تفسیر لینک از route مشخص شده استفاده میشه یعنی اگه شما الآن بنویسید:
    echo Yii::app()->createUrl('panel/test');

    باز هم لینک بصورت dashboard/test ایجاد میشه.
    5- برای هندل کردن ساب دومین هم که خیلی زیبا!

    Route::group(array('domain' => '{account}.myapp.com'), function($account)
    {

    // $account is here

    });
    توی Yii از این هم زیباتره:

    array(
    'http://<user:\w+>.example.com/<lang:\w+>/profile' => 'user/profile',
    )

    و اگه اکشن profile از کنترلر user رو اینطوری داشته باشیم:

    public function actionProfile($user, $lang) {
    ...
    }

    میبینید که چقدر راحت میشه فهمید کدوم کاربر درخواست داده و پروفایلش رو میخواد به چه زبانی مشاهده کنه.
    6- به شکل زیر میشه یک مدل رو به url متصل کرد، به نحوی که مدل خودش اوتوماتیک لود بشه

    Route::model('user', 'User');
    Route::get('profile/{user}', function(User $user) {
    });

    اگر آدرسی مثل profile/1 زده بشه، مدل به صورت اوتوماتیک در $user لود خواهد شد، و اگر مدل وجود نداشته باشه هم میتونیم مشخص کنیم چه اتفاقی بیافته
    توی Yii بخاطر مسئله Lazy Loading فوق العاده قدرتمندی که داره، اصلاً به این کارها نیازی نیست. کافیه توی تنظیمات برنامه، محل ذخیره سازی فایلهایی که میخواین بطور خودکار در زمان استفاده بارگذاری بشن رو مشخص کنید:

    'import'=>array(
    'application.models.*',
    'application.components.*',
    ),

    و توی این پوشه ها هم کلاسها رو توی فایلی همنام با کلاس ذخیره کنید. مثلاً کلاس User توی فایل User.php قرار گرفته باشه. ترتیب این آرایه هم مشخص میکنه به چه ترتیبی باید توی پوشه ها دنبال فایل موردنظر بگرده.

  36. #36

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط metal gear solid 4 مشاهده تاپیک
    هر چیزی رو میشه پیاده سازی کرد. حتی یک فریمورک جدید. مهم اینه این دو فریم ورک در هسته ی خودشون چی دارن. چقدر ساده باشند. چقدر تمیز باشند... !
    وقتی از فریمورک (چهارچوب کاری) استفاده میکنیم، اینکه فریمورک بهمون کمک کنه از اون چهارچوب کاری خارج بشیم، کاملاً مساوی با عیب و نقصه نه مزیت (نتیجه این موضوع میشه دقیقاً سیستم قانونگذاری کشورهایی مثل هند که بعنوان یک ضرب المثل تلخ بین مردمش رایج شده که «هیچ قانونی وضع نمیشه، مگه اینکه تبصره فرار از اون برای عده مشخص شده ای، درنظر گرفته شده باشه»). کد تمیز یعنی کدی که اصول داخلش رعایت شده باشه. اینکه شما با کمک یک فریمورک میتونید اسپاگتی کد بنویسید و فریمورک هم به شما کمک میکنه که برای مثال، توی یک خط کد اینکار رو انجام بدین، معناش این نیست که کد شما تمیزه! فقط خلاصه تر نوشتین. اگه بنا به خلاصه نویسی باشه، برنامه نویسی رویه گرا هم کدهایی کوتاهتری نسبت به شئ گرایی تولید میکنه. پس ما هم باید بگیم Procedural Programming تمیزتر از OOP هست؟! امروزه اصول کاری برنامه نویسی وب شده MVC و MVVP و HMVC و... و دیگه اسپاگتی کد منسوخ شده. پس لطفاً به کدی که فقط کوتاهه و اصولی نیست، نگین کد تمیز!

  37. #37
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: Yii vs Laravel

    آقای rezakho در Laravel میشه از چند لاگین استفاده کرد ؟ برای استفاده از معادل setFlash باید باید آگاهی داشته باشیم از اینکه session باز است یا نه ؟

  38. #38
    کاربر دائمی آواتار metal gear solid 4
    تاریخ عضویت
    مهر 1387
    محل زندگی
    مشهد
    پست
    307

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    وقتی از فریمورک (چهارچوب کاری) استفاده میکنیم، اینکه فریمورک بهمون کمک کنه از اون چهارچوب کاری خارج بشیم، کاملاً مساوی با عیب و نقصه نه مزیت (نتیجه این موضوع میشه دقیقاً سیستم قانونگذاری کشورهایی مثل هند که بعنوان یک ضرب المثل تلخ بین مردمش رایج شده که «هیچ قانونی وضع نمیشه، مگه اینکه تبصره فرار از اون برای عده مشخص شده ای، درنظر گرفته شده باشه»). کد تمیز یعنی کدی که اصول داخلش رعایت شده باشه. اینکه شما با کمک یک فریمورک میتونید اسپاگتی کد بنویسید و فریمورک هم به شما کمک میکنه که برای مثال، توی یک خط کد اینکار رو انجام بدین، معناش این نیست که کد شما تمیزه! فقط خلاصه تر نوشتین. اگه بنا به خلاصه نویسی باشه، برنامه نویسی رویه گرا هم کدهایی کوتاهتری نسبت به شئ گرایی تولید میکنه. پس ما هم باید بگیم Procedural Programming تمیزتر از OOP هست؟! امروزه اصول کاری برنامه نویسی وب شده MVC و MVVP و HMVC و... و دیگه اسپاگتی کد منسوخ شده. پس لطفاً به کدی که فقط کوتاهه و اصولی نیست، نگین کد تمیز!
    من متعجبم شما چطور این صحبت هارو میکنید. شما که اصولاً برنامه نویسی بدون فریمورک رو ترجیح میدید. ( طبق پست های خودتون ). چرا؟ نمیدونم اما احساس میکنم به خاطر اینه که شاید دست و پاگیر باشه. شاید. ولی این دقیقاً دلیلی میشه که یک فریمورک باید دست برنامه نویس رو باز بزاره. ;) این که ما دقیقاً مطابق با چهارچوب بریم جلو رو کی تعریف کرده؟ کی گفته؟ شما؟ اگر شما میگید کاملاً مرتبط به نوع برنامه نویسی خود شماست. هیچ ارتباطی به من نوعی نداره. من سبک و سیاق خودم رو در برنامه نویسی دارم. شما سبک خودتون. اما یک سبک و قانونی هست که همه ی برنامه نویسا دوسش دارن. اینکه کد رو راحت بشه نوشت. کد رو تمیز بشه نوشت.
    بله. کد تمیز. توی تمامی مواردی که در مقایسه با لاراول نوشتید کدهای لاراول بدون جانب داری کورکورانه تمیز تر هستند. خواناتر هستند. این رو هرکسی که هیچ اشرافی به این دوفریمورک نداره هم میتونه بفهمه.
    انقدر دم از قانون برنامه نویس نزنید. همونطور که گفتم قوانین هر کس مختص خودشه. درانتهای کار، کد من و شما هردو یک کار رو انجام میدند. مشتریهای جفتمون هم راضی هستند. اصلاً هم براشون مهم نیست من از قانون و چهارچوب فریمورکم خارج شدم و شما نشدید!!! این قوانین نانوشته ای که میگید فقط دست برنامه نویس ها رو میبنده.

  39. #39
    کاربر دائمی آواتار metal gear solid 4
    تاریخ عضویت
    مهر 1387
    محل زندگی
    مشهد
    پست
    307

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط engmmrj مشاهده تاپیک
    آقای rezakho در Laravel میشه از چند لاگین استفاده کرد ؟ برای استفاده از معادل setFlash باید باید آگاهی داشته باشیم از اینکه session باز است یا نه ؟
    بله میشه. و من در پروژه ی فعلیم. با 4 لاگین همزمان میتونم وارد سیستم بشم.

  40. #40
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط metal gear solid 4 مشاهده تاپیک
    بله میشه. و من در پروژه ی فعلیم. با 4 لاگین همزمان میتونم وارد سیستم بشم.
    بدون تنظیمات اضافی این کارو کردین ؟

صفحه 1 از 9 123 ... آخرآخر

تاپیک های مشابه

  1. حرفه ای: ایجاد بخش Yii Framework
    نوشته شده توسط sanay_esh در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 1
    آخرین پست: شنبه 20 آبان 1391, 23:32 عصر
  2. آموزش: Yii Framework - قسمت دوم
    نوشته شده توسط milanFan در بخش PHP
    پاسخ: 2
    آخرین پست: یک شنبه 21 خرداد 1391, 13:31 عصر
  3. Yii Framework
    نوشته شده توسط JavaDeveloper در بخش PHP
    پاسخ: 3
    آخرین پست: پنج شنبه 10 فروردین 1391, 18:32 عصر
  4. حرفه ای: Yii Framework راه اندازی UnitPHP جهت تست Unit ها
    نوشته شده توسط ostovarit در بخش PHP
    پاسخ: 0
    آخرین پست: جمعه 20 خرداد 1390, 12:38 عصر
  5. Yii Framework چیست؟
    نوشته شده توسط ostovarit در بخش توسعه وب (Web Development)
    پاسخ: 0
    آخرین پست: جمعه 20 خرداد 1390, 12:34 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •