صفحه 2 از 9 اولاول 1234 ... آخرآخر
نمایش نتایج 41 تا 80 از 341

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

  1. #41

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط metal gear solid 4 مشاهده تاپیک
    من متعجبم شما چطور این صحبت هارو میکنید. شما که اصولاً برنامه نویسی بدون فریمورک رو ترجیح میدید. ( طبق پست های خودتون ). چرا؟ نمیدونم اما احساس میکنم به خاطر اینه که شاید دست و پاگیر باشه. شاید. ولی این دقیقاً دلیلی میشه که یک فریمورک باید دست برنامه نویس رو باز بزاره. ;) این که ما دقیقاً مطابق با چهارچوب بریم جلو رو کی تعریف کرده؟ کی گفته؟ شما؟ اگر شما میگید کاملاً مرتبط به نوع برنامه نویسی خود شماست. هیچ ارتباطی به من نوعی نداره. من سبک و سیاق خودم رو در برنامه نویسی دارم. شما سبک خودتون. اما یک سبک و قانونی هست که همه ی برنامه نویسا دوسش دارن. اینکه کد رو راحت بشه نوشت. کد رو تمیز بشه نوشت.
    بله. کد تمیز. توی تمامی مواردی که در مقایسه با لاراول نوشتید کدهای لاراول بدون جانب داری کورکورانه تمیز تر هستند. خواناتر هستند. این رو هرکسی که هیچ اشرافی به این دوفریمورک نداره هم میتونه بفهمه.
    انقدر دم از قانون برنامه نویس نزنید. همونطور که گفتم قوانین هر کس مختص خودشه. درانتهای کار، کد من و شما هردو یک کار رو انجام میدند. مشتریهای جفتمون هم راضی هستند. اصلاً هم براشون مهم نیست من از قانون و چهارچوب فریمورکم خارج شدم و شما نشدید!!! این قوانین نانوشته ای که میگید فقط دست برنامه نویس ها رو میبنده.
    من هنوز هم میگم که به برنامه نویسی بدون فریمورک علاقمند هستم و ترجیحش میدم ولی معنای برنامه نویسی بدون فریمورک، لزوماً برنامه نویسی بدون قید و بند نیست. اینکه شما کار یک مشتری رو با MVC انجام بدین و بعد، یکسری جاها صرفاً برای اینکه کار شما راحتتر بشه، بیاین با همون روش معمول کد بنویسید، یعنی یک کد بی نظم دارین که بجز شما، هیچ کسی ازش سر در نمیاره و هیچ تضمینی هم وجود نداره که بعد از چند ماه که به این پروژه سر نزنید و سراغ پروژه های دیگه برین و یکهو مشتری بگه مشکلی پیش اومده یا بخواین قابلیتی رو اضافه کنید، باز هم یادتون باشه چند ماه قبل بخشهای مختلف پروژه رو چطوری انجام دادین. اینکه باید مطابق با چهارچوب فریمورک رفت جلو رو هم من نمیگم. هر آدم عاقلی میگه. شما نمیتونید عضو یک جامعه بشین و قوانینش رو چون دست و پاگیر هستن، قبول نکنید؛ حتی اگه اون جامعه به شما این اجازه رو بده، باز هم میشه یک جامعه بدون نظم و قانون. مثل اینه که پلیس بیاد بگه آقا شما باید بین خطوط حرکت کنید ولی اگه حرکت نکردین هم طوری نیست. نتیجه اش هم میشه ترافیک همیشگی که توی خیابونها شاهدش هستیم! اینجا هر آدم عاقلی میفهمه که نتیجه این مشکلات، در درجه اول عدم سختگیری در اجرای قوانین و در درجه بعد، عدم التزام شهروندان به قوانین تدوین شده است. اگه ازنظر شما کد تمیز، کد خلاصه است، پس با PHP خام و بصورت Procedural بنویسید چون سربارهای OOP و MVC و... رو ندارین. مشتری بهرحال چیزی از کد پشت پرده سر در نمیاره حتی اگه سورس کد رو هم تحویلش بدیم ولی اگه قرار باشه تیمی کار کنیم (مهمترین قابلیتی که فریمورکها به کاربران میدن) باید طبق یک قانون مشترک و استاندارد، کد بنویسیم. نمیگم MVC خیلی کامله ولی بهرحال داخلش مشخصه که منطق برنامه کجاست، بخش نمایش ظاهری کجاست، سیستم ارتباط با پایگاه داده و... کجاست. مثل کدنویسی اسپاگتی نیست که هرجا دلمون خواست، if میگذاریم و هرجا هم دلمون خواست با break از حلقه میایم بیرون و اصلاً هم برامون مهم نیست که سر برنامه نویس بعدی که قراره این کدنویسی افتضاح! ما رو ادامه بده چی میاد و چقدر به اجدادمون بد و بیراه خواهد گفت. بله ازنظر شما، کد تمیز یعنی این!!! شاید کد من و شما یک کار رو انجام بدن ولی مشتریهای من قطعاً راضیتر هستن چون یک سال دیگه هم بخوان قابلیتی رو اضافه کنن، هم خودم و هم فرد دیگری که بخوان باهاش کار کنن، به راحتی و با همون سرعت روزهای اول پروژه، میتونه اصلاحات رو انجام بده و ازطرفی چون پروژه کاملاً ماژولار هست، میتونم هر قسمتی رو بخوام جدا کنم و با اندکی اصلاحات (شاید هم بدون تغییر) توی پروژه های دیگه استفاده کنم و درنتیجه سرعت تولید پروژه های بعدیم هم افزایش پیدا میکنه. دوست عزیز، تعریف شما از کد تمیز، نیازمند یکم تمیزکاریه!!! اون سبک و قانونی که میگین همه برنامه نویسها دوستش دارن هم (اینکه کد رو راحت بشه نوشت...) به شرطی صحیحه و همه قبولش دارن و دوستش دارن که یک سال بعد هم راحت بتونن از عهده پشتیبانی (تغییر، اصلاح، ارتقاء و...) بر بیان. برخلاف شما، کدهای لاراول رو سرشار از بینظمی و حتی از اون بدتر، تشویق برنامه نویس به کدنویسی بینظم میبینم. با صحبتهایی که تا حالا توی تالار مطرح کردین هم ندیده ساختار کدنویسی شما رو میتونم تجسم کنم و مطمئنم اگه بخوایم برای ارتباط بخشهای مختلف پروژه شما، گراف ترسیم کنیم، در نهایت به توپولوژی Mesh میرسیم. شرمنده اگه رک صحبت کردم ولی راه بهتری برای رسوندن منظورم پیدا نکردم و ابداً قصد اهانت ندارم منتها بعنوان یک دوست یا شاید یک برادر، تجربه خودم رو میخوام منتقل کنم تا بعداً چند سال دیگه، از این سبکی که در کدنویسی دارین، پشیمون نباشین. موفق باشید.

  2. #42

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط engmmrj مشاهده تاپیک
    بدون تنظیمات اضافی این کارو کردین ؟
    مگه شما توی Yii برای انجام این کار چقدر دردسر میکشین؟ بجز تنظیم کردن دو نسخه از همون کامپوننت User مگه کار دیگری هم لازمه؟ البته فکر میکنم کلاً سؤال شما مرتبط با این تاپیک نباشه و بهتره توی یک تاپیک جداگانه دنبالش کنید.

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

    نقل قول: Yii vs Laravel

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

  4. #44

    نقل قول: Yii vs Laravel

    اتفاقاً همین Route::get مثال خوبی برای پروژه آبگوشتیه. شاید یک برنامه نویس خبره هیچوقت ازش استفاده نکنه ولی بودنش به تنهایی یعنی اینکه لاراول راه رو برای کدنویسی بی نظم باز گذاشته. اینکه دستی Route تعریف کنیم و متد بدون نام بسازیم و بهم لینک کنیم و... معناش جز بی نظمی چیز دیگری نیست. همونطور که گفتم، توی Yii هم میشه یکسری متدهای متفرقه داشت ولی بهرحال اونها هم ساختار MVC رو دارن یعنی نماها توسط View تولید میشن و پردازشها توسط Controller و شاید این وسط اصلاً بعضی جاها هم اصلاً دسترسی به دیتابیس لازم نباشه ولی اگه نیاز بود، مطمئناً باید ازطریق Model انجام بشه. توی Yii حتی درخواستهای AJAX هم با ساختار MVC کار میکنن.

  5. #45

    نقل قول: Yii vs Laravel

    سلام. آقای شهرکی فکر کنم با تعصب جلو میبرید بحث رو. بحث سر این که فریم ورکها چه قابلتهایی دارند یا ندارند بحثهو مخصوا سر اینکه چقدر راحتی کار رو به برنامه نویس میده تعریف روتها تو ایی همونطور که خودتون فرمودید مثل الگوریتم ها pregMatch میمونه. لاراول هر بدی که داشته باشه ساده تر و قدرتمند تر به نظر میاد. البته اینطور هم هست. هر دو فریم ورک عالی هستن . ما که اونا رو ننوشتیم. استفاده کننده ایم پس تعصب معنایی نداره. واقع بینانه به موضوع نگاه کنیم

  6. #46

    نقل قول: Yii vs Laravel

    ببینید، بحث اصلاً تعصب نیست چون نه Yii مال منه و نه Laravel و نه هیچ فریمورک دیگه. هرچقدر استفاده کنندگان از هرکدوم از این فریمورکها هم بیشتر بشن، هیچ نفع و ضرری به حال من نداره. منتها باید یکسری چیزهایی که اصولی هست رو گفت. چه بعضیها خوششون بیاد، چه نیاد. مهم اینه که یکی که تازه میخواد تصمیم بگیره، دید درستی پیدا کنه. اینکه یک فریمورک هزاران مدل امکانات مختلف ارائه کنه ولی هیچکدوم اصولی نباشن، معناش این نیست که فریمورک خوبیه. البته نمیگم هیچکدوم از امکانات لاراول خوب نیست و برعکس معتقدم امکانات خیلی خوب و قدرتمندی داره ولی حقیقتاً این مواردی که فهرست شده توی این تاپیک و تا اینجا بررسی کردیم، بیشتر باید بعنوان نقطه ضعف این فریمورک مطرح بشه نه بعنوان نقطه قوت. Routeها رو در Yii هم میشه بصورت RegExp نوشت و هم متن معمولی و اتفاقاً RegExp یکی از نقاط قوتش هست ولی اجبار نیست و میتونید معمولی هم بنویسید. باز هم تأکید میکنم برنامه ای که با یک فریمورک نوشته میشه، باید یکسری استانداردها پایه رو داشته باشه. مثلاً ساختار مشخصی داشته باشه که هیچ جا از اون ساختار خارج نشده باشیم. حالا این ساختار هرچی میخواد باشه مهم نیست. میتونه MVC باشه، میتونه MVVP باشه، میتونه HMVC باشه یا اصلاً میتونه همون ساختار سنتی باشه ولی بهرحال باید مشخص باشه و هیچ جا نشه از اون ساختار خارج شد و اصطلاحاً بزنیم جاده خاکی و هرجور دلمون خواست Routeها رو پردازش کنیم. الآن یکی دیگه که میاد سراغ پروژه ما توی لاراول، وقتی یک action خاص رو میخواد اصلاح کنه، کجا باید دنبالش بگرده؟ توی Routeها ببینه دستی تعریف شده؟ توی کنترلرها دنبال اکشنش باشه؟ توی گروهبندیهای Route دنبالش بگرده؟ قبول کنید ساختار نامنظمی رو ارائه میده درحالی که توی Yii همه Routeها توی فایل تنظیمات یا نهایتاً کلاسی که برای مسیریابی مینویسیم یا جدولی از دیتابیس که برای مشخص کردن Routeها ساختیم، خلاصه میشه و مسیرها بهرحال از هر جا خونده بشن، درخواستها به کنترلرها فرستاده میشه و جوابها هم با ویوها نمایش داده میشه و ارتباط با پایگاه داده ها هم ازطریق مدلها فراهم میشه و هیچ جا نه خود فریمورک از این ساختار خارج شده و نه اجازه میده برنامه نویس از این چهارچوب خارج بشه. اگه قرار بود (عذر میخوام) فَله ای کد بنویسیم، اصلاً چرا اومدیم سراغ فریمورک؟ بخاطر چهارتا کلاس کار با دیتابیس و مدیریت سشن؟ اونها رو که یکبار برای همیشه میتونیم خودمونم بنویسیم. چرا خودمون رو درگیر یادگیری ساختاری که باهاش کاملاً آشنا نیستیم کنیم؟! مطمئن باشید هر کسی بدون تعصب این تاپیک رو دنبال کنه، بی نظمی لاراول و کمک به کاربران برای استفاده از ساختار بی نظم رو متوجه میشه و این مسئله واقعاً یک امتیاز مثبت نیست. نمیدونم چرا منظورم رو متوجه نمیشین؟! باور کنید راحتی برنامه نویس مساوی با بی قید و بندی در کدنویسی نیست. مهمترین و طولانی ترین فاز یک پروژه برنامه نویسی، فاز پشتیبانیه و بهترین فریمورک، اونیه که توی این فاز، باعث راحتی برنامه نویس بشه. حالا هرچقدر برنامه روی اصول پیش رفته باشه، توی فاز پشتیبانی کار راحتتری دارین و هر کسی هم که بخواد روی پروژه کار کنه، کافیه به ساختار فریمورک آشنا باشه تا به راحتی بدونه هر قسمت از پروژه توی کدوم فایله و روند انجام کارها به چه شکل داره انجام میشه و مثلاً پیامها از کدوم فایلها داره خونده میشه و الی آخر. فکر میکنید بخاطر چیه که سیمفونی 2 اینقدر محبوبیت پیدا کرده؟ همه قبول دارن که حتی برخی جاها سختگیریهاش از خود PHP هم بیشتره ولی باز هم دوستش دارن چون نمیگذاره بی قید و بند کد بنویسید. این سیستم، تعریف دقیق Framework ( = چهارچوب کاری) هست.

  7. #47

    نقل قول: Yii vs Laravel

    خوب ببینید آقای شهرکی.اینطوری مقایسه انجام نمیشه. مثال آبگوشت و اسپاگتی و اینچیزها خوب بی ادبیه. شما به این فکر کن هم لاراول بده هم yii . خوب ما میخواییم چیزی که میتونیم روش مانور بدیم رو انتخاب کنیم با توجه به زمان و اینده نگری پروژه. لاراول اگه بد بود فریم ورک سال نمیشد. قرار نیست بی نظمی در بیاره. این برای خودش یه سیاست رو دنبال میکنه yii هم یه جور دیگه.هر دو تاشون هم همدیگه رو قبول ندارن.اگه اینطوری نبود که تعداد فریم ورک ها اینقدر متنوع نبود. نوع دید برنامه نویس به قضیه مهمه. به صورت پیش فرض البته شاید بی نظمی هم باشه طبیعیه. برنامه نویس باید تو اپلیکیشنهایی که مینویسه باید دقت کنه مدیریت کنه. yii اومده این رو به صورت دیفالت گذاشته و سخت تر کرده مفاهیم رو و میگه این درسته.
    نه، نه حرف لاراول درسته نه حرف yii . برنامه نویس و نوع دیدش مهمه. عبارت بی قید و بندی عبارت بسیار اشتباهیه که شما ازش استفاده کردید. همونطور که گفتید همه از سمفونی راضی هستن. پس لاراول هم یه توزیع از اون هستش. پس قدرتهاشو ازش به ارث برده.
    ما میخواییم انتخاب درستی داشته باشیم. فردا پس فردا ممکنه یه فریم ورک بیاد زیر آب این دوتا رو بزنه و فوق العاده باشه.خیلی. یا اصلا اینا دیگه پشتیبانی نشن. خوب ما چیکار کنیم؟ حداقل قوانین و حد و حدوداستفاده رو یاد بگیریم.آقای rezakho هم کم با yii کار نکردن که به این فریم ورک رو اوردن. یا بچه های دیگه مثل آقای مقیمی خودش برای لاراول bundle نوشته الان اومده yii . منظورم از واقع بینانه نگاه کردن اینه.

    موفق باشید

  8. #48

    نقل قول: Yii vs Laravel

    الآن کی گفته لاراول فریمورک ساله؟ لابد همون مقاله وبلاگ توی SitePoint رو میخواین لینک بدین! ضمناً اصطلاح آبگوشتی رو اول بنده مطرح نکردم و دوستمون گفتن و من هم گفتم لابد ازنظرشون این اصطلاح اشکالی نداره و همون رو به کار بردم و گفتم سیستم کاری لاراول همون وضع رو داره اما اسپاگتی کد، اصلاً بی ادبی نیست و یک اصطلاح علمی برای مواقعی هست که جوری کدنویسی میشه که سر و تهش معلوم نیست (لینک). ضمناً لاراول یه توزیع از سیمفونی نیست، بلکه اومده بخشهایی از سورس اون رو برداشته و موارد خودش رو بهش اضافه کرده. این موضوع بد هم نیست چون بهرحال دنیای Open Source هست و قطعاً امتیازش رو اگه مستلزم هزینه بوده، خریده. درست مثل کاری که Yii کرده و بخشهایی از خودش رو مدیون سیمفونی هست ولی لاراول ابداً یک توزیع از سیمفونی محسوب نمیشه و قرار هم نیست هر کسی بخشهایی از اون رو توی کار خودش استفاده کرد و یک فریمورک دیگه نوشت، توزیع سیمفونی محسوب بشه. این حرفهایی هم که از بی نظمی در لاراول میزنم فقط حرف من نیست. کافیه کمی توی اینترنت جستجو کنید. بعلاوه Community لاراول عملاً مرده و اگه توی سایتش دقت کنید، میبینید که فقط به یکسری سؤالات یش پا افتاده جواب داده میشه و وقتی پای مسائل جدی و پیچیده مطرح میشه، همه سکوت اختیار میکنن. اینها برای یک فریمورک نقطه ضعفه ولی بهرحال لاراول Syntax قوی و قدرتمندی داره و جای کار هم زیاد داره. همین که مرتباً داره نسخه های جدید بیرون میده و توی هر نسخه هم تغییرات اساسی و بنیادی داره، معناش اینه که هنوز به اون ثبات لازم نرسیده و خیلی هنوز جای رشد و پیشرفت داره اما درهرحال میشه بعنوان یک فریمورک Stable روش تکیه کرد. تمام صحبت من اینه که این مواردی که بیان شده و فقط موجب راحتی در بی قید و بند نوشتن کدها میشه و امتیاز خاص دیگری نداره، مزیتهای این فریمورک نیستن و اگه کسی میخواد از این فریمورک دفاع کنه، باید دست روی موارد مهمتر بگذاره چون قطعاً بد دفاع کردن بدتر از حمله کردنه. بعلاوه همین عبارت بی قید و بند هم عبارت بدی نیست. نمیدونم چرا تا توی یک بحث علمی، یکم جدی میشیم و میخوایم حرفها رو رک بزنیم، بهمون بر میخوره و باید قبلش کلی معذرت خواهی کنیم درحالی که مباحث علمی جای تعارف و صحبتهای گل و بلبل نیست. هیچ قصدی هم برای توهین وجود نداره. برای مثال، همین اصطلاح بی قید و بند، معناش انجام یک کار بدون قاعده و اصوله. درسته که این اصطلاح بار منفی داره ولی به معنای توهین نیست. کما اینکه توی همون مباحث اجتماعی هم اگه یکنفر واقعاً بی قید و بند باشه و بهش این لقب رو بدن، کسی ایراد نمیگیره. شما ثابت کنید که لاراول اولاً قید و بند داره و چهارچوب کاریش دقیقاً مشخصه و ثانیاً نمیگذاره از اون چهارچوب خارج بشین، بنده هم اصطلاح بی قید و بند رو از روی صحبتهام درخصوص لاراول بر میدارم.
    صحبت شما درسته، نوع دید برنامه نویس در سبک کدنویسیش اثر میگذاره ولی اینکه همه جور امکانات بدیم بعد بگیم خودت انتخاب کن که نشد چهارچوب کاری. مثل اینه که بگیم هیچ قانونی توی جامعه نیست ولی شما درست رفتار کنید! اگه قرار باشه همه چیز رو بعهده برنامه نویس بگذاریم برای انتخاب، میشه همون حالت عدم استفاده از فریمورک. نمیدونم چرا اکثراً فکر میکنن فریمورک فقط برای راحتی کار برنامه نویس اومده درحالی که همه جا توی مقالات معتبر نوشته شده فریمورک برای مقید کردن اعضا به اصولی که ازنظر تولیدکننده فریمورک صحیحه ایجاد میشه. برای مثال چرا توی NET. کسی نمیتونه Unsafe Code بنویسه؟ تا حالا کسی اومده بگه خوب این قابلیت رو هم به NET. اضافه کنن تا کاربرانش بیشتر بشه و کار برنامه نویسان راحت بشه؟ اینجور وقتها مایکروسافت به همه درخواستهایی که میخوان چنین قابلیتی رو اضافه کنن فقط یک جواب میده: اگه Unsafe Code میخواین، از NET. استفاده نکنید. اینجا هم همینه. اگه کسی ساختار MVC نمیخواد، با Yii کار نکنه. اگه قرار باشه لاراول بیاد بگه من همه جوره میگذارم کارتون رو انجام بدین و کلاسهای لازم رو براتون تأمین میکنم، بنظرم دیگه نباید اسمش رو بگذاریم فریمورک چون اصلاً چهارچوبی برای کارکردن وجود نداره و بیشتر اسم «کتابخانه کلاسهای لاراول» براش مناسبه (Laravel Class Library) که متأسفانه اصلاً در شأن یک فریمورک نیست.
    باز شاید بیاین بگین من دارم با تعصب حرف میزنم ولی اگه کمی منصف باشین و منطقی به قضیه نگاه کنید، تأیید خواهید کرد که دارم درست میگم.
    درمورد اینکه گفتین جناب rezakho هم با Yii کار کردن، باید بگم که توی مقایسه، باید امکانات روز رو درنظر گرفت. شاید اون موقع که به لاراول رو آوردن Yii اینقدر قوی نبوده یا بحث سلیقه و... مطرح باشه (این مسئله ارمورد آقای مقیمی که اشاره کردین هم صدق میکنه و اینکه ایشون از لاراول به Yii رو آوردن رو دلیل ضعف لاراول نمیدونم).

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

    نقل قول: Yii vs Laravel

    ببخشید چند روز نبودم،
    اولا من خواهش میکنم از آقای شهرکی قبل از ادامه مباحث یک نگاهی به داکیومنت لاراول بندازند، چون احساس میکنم هنوز درست نتونستند ساختارش رو مجسم کنند، تا تاپیک رو ادامه بدیم
    دوما، این به برنامه نویس ربط داره که چجور کد بزنه، مفهوم اسپاگیتی هم که شما مرتب ازش استفاده کردید تا آخرش رسوندیدش به ابگوشتی و فله ای!، هیچ ربطی به این مواردی که اشاره کردید نداره
    سوم، کد تمیز یعنی کد اصولی، کدی هایی که شما تا حالا مثال زدید خیلی شلوغ تر از کدهای لاراول بوده، چطور این کد شلوغ برای نگهداری و پشتیبانی نرم افزار دست و پا گیر نیست، ولی کدهای کم و خوانای لاراول هست؟
    چهارم، دوستان هم گفتند، اگر روزی فریمورکی روان تر و بهتر از لاراول بیاد، حتما من با لاراول خداحافظی خواهم کرد
    پنجم، Route::get و امثالهم، یک قابلیت در لاراول و هم خانواده هاش هست، شما ملاک حرفه ای بودن و یا نبودن در استفاده از ابزارها هستید؟ حداقل 6 فریمورک معروف این ساختار رو دارند، آیا سازندگان اینها حرفه ای نبودند؟! آیا اونها مفاهیم تفکیک منطق و MVC و ... رو آشنایی ندارند؟؟؟

  10. #50

    نقل قول: Yii vs Laravel

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

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

    نقل قول: Yii vs Laravel

    اوایل تاپیک هم گفتم که از این دست پستها خوشم نمیاد
    پس همین کار رو میکنیم، دوستان هم همکاری کنند تا ادامه بدیم
    شما هم لطف کنید فقط معادل کدها رو بگذارید، با کمترین متن توضیحات، من هم همین کار رو میکنم
    حالا برگردیم به آخرین پس من که آخرین مطالب در باره route بود

  12. #52

    نقل قول: Yii vs Laravel

    اونو که جواب دادم.

  13. #53

    نقل قول: Yii vs Laravel

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

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

    نقل قول: Yii vs Laravel

    1- ست کردم الگوی عمومی در روت ها
    این کدی که شما نوشتید مال یک روت هست نه تمام روت ها

    'rules'=array(

    '<_c>/<_a>/<id:\d+>'=>'<_c>/<_a>',

    );
    2- در Yii نمیشه متغرهای POST رو به اکشن به صورت پارامتر ارسال کرد، توی خود داکیومنت Yii گفته http://www.yiiframework.com/doc/guid...troller#action
    قسمت Action Parameter Binding

    3- قابلیت اعمال انواع ویژگی به روت ها، با یک خط روی همه روت ها هست، نه اکشن به اکشن یا کنترلر به کنترلر، Yii نمیتونه این کار رو به راحتی انجام بده

    4- در مورد نام گذاری روت ها، شما نامی به روت ندادید، بلکه از نام اکشن و کنترلر دارید استفاده میکنید که لاراول این رو هم داره ولی Yii نام دهی به روت ها رو پشتیبانی نمیکنه

    5- این مورد که ساب دومین بود رو یی داره، ولی شلوغ تر، مثلا همین روت profile که فقط نیست، ممکنه 20 تا روت دیگه داشته باشید که در Yii باید تک تک user رو توی روت ها تعریف کنید که در لاراول فقط یکبار اینکارو انجام میدید، نکته اصلی جلوگیری از تکرار هست (DRY)

    6- منظور lazy لودینگ نیست، این رو هم که اکثر فریمورک ها دارند من جمله لاراول
    منظور اینه که مدل User با شناسه مورد نظر خودکار لود میشه و نیازی به findByPk نیست مثل Yii

  15. #55

    نقل قول: Yii vs Laravel

    1- اشتباه میکنید، مال همه هست چون RegExp مشخص نشده و هر زوج Controller/Action رو شامل میشه.
    2- من دارم استفاده میکنم شما میگین نمیشه؟ توی Document هم به GET_$ اشاره کرده، نگفته POST_$ نمیشه!
    3- به همون صورت Global که توی مثال 1 گفتم، به راحتی برای همه میشه انجام داد.
    4- دوست عزیز، همونطور که توی مثال مشخص کردم، به کنترلر panel اسم dashboard رو دادم. حالا چطور میگین از نام دهی پشتیبانی نمیشه؟ الآن اگه بگیم:
    $this->redirect('dashboard');

    عمل Redirect به panel/index انجام میشه. حتی میشه برای dashboard خالی هم route دلخواه رو مشخص کرد. مثال:

    'rules'=array(
    'dashboard/<action:.+>'=>'panel/<action>',
    'dashboard'=>'panel/home',
    );

    و به این شکل میشه Redirect کرد:

    $this->redirect('dashboard'); // Redirects to panel/home
    $this->redirect('dashboard/test'); // Redirects to panel/test

    5- توی Yii هم مهمترین اصل DRY هست. برای همه Routeها میشه انجام داد. اونهم با یک خط:

    array(
    'http://<user:\w+>.example.com/<lang:(en|fa)>/<action:\w+>' => 'user/<action>',
    )

    خطاب به استارتر: شما که به بنده پیشنهاد میدین مستندات لاراول رو بخونم چون گویا برام هنوز جا نیفتاده (درحالی که بنده حداقل 3 کتاب مرجع در زمینه فریمورک لاراول مطالعه کردم و بعد وارد این بحث شدم)، خودتون گویا مستندات Yii رو نخوندین که چنین موارد پیش پا افتاده ای رو میگین Yii نداره یا باید چندین خط کد براش نوشت!
    6- یعنی الآن نوشتن اون یک خط Route::model('user', 'User'); خیلی خلاصه تر از $user = $this->loadModel($id); هست؟ اگه منظورتون اینه که توی هر اکشن باید تکرار بشه هم باید بگم که خیر چنین نیازی نیست. کافیه یکبار توی متد init بنویسید تا توی همه اکشنها اجرا بشه.
    آخرین ویرایش به وسیله MMSHFE : چهارشنبه 07 اسفند 1392 در 09:48 صبح دلیل: تکمیل توضیحات

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

    نقل قول: Yii vs Laravel

    خوب، بریم سراغ Query Builder
    البته قبلش یک سری قابلیت های پایه کار با پایگاه داده رو بررسی کنیم

    ایجاد یک listener برای کوئری ها که مثل ایونت روی تمام کوئری ها اعمال و اجرا میشه

    DB::listen(function($sql, $bindings, $time)
    {
    //
    });

  17. #57

    نقل قول: Yii vs Laravel

    توی Yii یکسری eventها از قبل تعریف شده مثل beforeSave یا afterFind و... (لینک) ولی درصورت تمایل میشه با overrideکردن متد events، رویدادهای سفارشی دلخواه خودمون رو تعریف کنیم و برای مثال، دقیقاً مثل لاراول، بگیم اگه فلان کوئری اجرا شد، فلان کار رو انجام بده ولی سیستم eventهای خاص مثل همونهایی که گفتم، به اندازه کافی کارآمد هست و نیازی به اینقدر حساسیت نیست. برای مثال، میشه به راحتی با overrideکردن متد afterSave در مدل User، کاری کنیم که هروقت یک کاربر جدید ثبت نام کرد، یک SMS برای مدیر ارسال بشه. البته اگه کاربرد DB::listen رو درست متوجه شده باشم، همینه که درصورت اجرای یک کوئری خاص، کار خاصی انجام بشه چون بیشتر از این توی مستندات خود سایتش و همچنین چندتا کتابی که درمورد لاراول خوندم، چیزی پیدا نکردم و توی فارومها هم زیاد درموردش صحبت نشده بود و گویا قابلیت خیلی مطرحی حتی بین خود کاربران لاراول هم نیست و بیشتر بخاطر مقاصدی مثل Log گرفتن از کوئریهای دیتابیس و... استفاده میشه. اما اگه منظورتون طبق پستتون، این باشه که هر کوئری اجرا شد، این تابع صدا زده بشه (بدون اهمیت دادن به اینکه چه کوئری بوده)، میشه با خاصیتهایی از Yii::app()->db->enableProfiling عمل Log گیری رو فعال کرد یا با Yii::app()->db->behaviors کنترل کاملی روی کلیه رفتارهای کل اتصالات به دیتابیس داشت که فکر میکنم این مورد بیشتر به منظور شما از DB::listen نزدیک باشه. در این مورد، هرچند اون رو قابلیت خیلی بزرگی نمیدونم ولی فکر میکنم Laravel ساده تر عمل کرده و کار رو برای برنامه نویس هم آسون تر کرده باشه. البته شاید با تحقیق بیشتر، به این نتیجه برسیم که Yii هم چنین قابلیتی داشته باشه و ما ازش بیخبر باشیم چون حقیقتش تا حالا به کاربرد چنین قابلیتی فکر نکرده بودم و نیازی هم بهش احساس نمیکردم.
    آخرین ویرایش به وسیله MMSHFE : سه شنبه 06 اسفند 1392 در 13:45 عصر دلیل: تکمیل توضیحات

  18. #58

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    این حرفهایی هم که از بی نظمی در لاراول میزنم فقط حرف من نیست. کافیه کمی توی اینترنت جستجو کنید.
    من چیزی پیدا نکردم. اگر هم باشه باید ببینیم اون کسی که این حرف رو زده کیه. دلیل، استنباط، نقل قول. الکی حرف یه نظر رو نمیشه تایید کرد و روش مانور داد.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    بعلاوه Community لاراول عملاً مرده و اگه توی سایتش دقت کنید، میبینید که فقط به یکسری سؤالات یش پا افتاده جواب داده میشه و وقتی پای مسائل جدی و پیچیده مطرح میشه، همه سکوت اختیار میکنن.
    کامیونیتی ها همونطور که میدونین جایی برای بحث و رفع اشکال این چیزهاست. راکد بودن دلیلی بر مردن نیست. میتونین مثبت فکر کنید که همه راحت میتونن رفع اشکال کنن و نیازی به پرسیدن نباشه. در مورد مسایل جدیدی تقریبا برای همه موارد صدق میکنه. لاراول و ایی هم یکی از اینا. همه کسایی که حرفه ای شدن فکر میکنید چقدر از وقتشون رو اینجاها میزارن. سایت استک رو ببینید.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    همین که مرتباً داره نسخه های جدید بیرون میده و توی هر نسخه هم تغییرات اساسی و بنیادی داره، معناش اینه که هنوز به اون ثبات لازم نرسیده و خیلی هنوز جای رشد و پیشرفت داره
    خوب فریم ورک ایی هم داره میره رو نسخه دو. حتما مواردی بوده که نسخه جدید رو دارن روش کار میکنن. خودتون میدونین ضعفهای زیادی داشته. اگرم نداشته دلایلی بوده که اصل نسخه داره فرق میکنه. خیلی ها هم هنوز راضی نیستن از تغییرات. ولی در کل برای پیشرفت و توسعه نیازهایی سنجیده شده. اگه موردی نباشه که فریم ورک ها توسعه پیدا نمیکنن. حرفتون کاملا اشتباه هستش.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    اگه کسی میخواد از این فریمورک دفاع کنه، باید دست روی موارد مهمتر بگذاره چون قطعاً بد دفاع کردن بدتر از حمله کردنه.
    انگار اشتباه متوجه شدید. کسی اینجا از این فریم ورک دفاع نمیکنه. یا زیر آب ایی رو نمیزنه. من هنوز هم میگم شما دارید یه طرفه بحث رو جلو میبرید.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    مثل اینه که بگیم هیچ قانونی توی جامعه نیست ولی شما درست رفتار کنید! اگه قرار باشه همه چیز رو بعهده برنامه نویس بگذاریم برای انتخاب، میشه همون حالت عدم استفاده از فریمورک.
    خوب ببینید فریم ورک چیکار میکنه؟ یه سری از مواردی رو اینطوری بگم که برای شما یه شهری با یه سری امکاناتش میده. برنامه نویس داخل این شهر میتونه هر کاری بر طبق اون انجام بده چه خوب چه بد. بستگی به حرفه ای بودنش داره. فریم ورک قوانینی تعریف میکنه برای برنامه نویس که ملزم صد در صد به استفاده از قسمتهایی از اون نیست. فریم ورک باید مدیریت کنه نه برخورد. حرف شما اینطوریه که ایی برخورد میکنه با نوع برنامه نویسی.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    اسم «کتابخانه کلاسهای لاراول» براش مناسبه (Laravel Class Library) که متأسفانه اصلاً در شأن یک فریمورک نیست.
    شاید شما دارید بد به موضوع نگاه میکنید. تشخیصش هم با ما نیست. در ضمن اینکه فرض کنید لاراول یه فریم ورک کاملا شخصیه و برای استفاده عموم برنامه نویسان منتشر نشده. اگه شما ازش خوشتون نمیاد خوب ازش استفاده نکنید.
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    درمورد اینکه گفتین جناب rezakho هم با Yii کار کردن، باید بگم که توی مقایسه، باید امکانات روز رو درنظر گرفت.
    برای برنامه نویس حرفه ای امکانات محدودیت هستش. نوع استفاده از امکاناتی که در اختیارش قرار داده میشه مهمه نه خودش.

    موفق باشید

  19. #59

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    کامیونیتی ها همونطور که میدونین جایی برای بحث و رفع اشکال این چیزهاست. راکد بودن دلیلی بر مردن نیست. میتونین مثبت فکر کنید که همه راحت میتونن رفع اشکال کنن و نیازی به پرسیدن نباشه. در مورد مسایل جدیدی تقریبا برای همه موارد صدق میکنه. لاراول و ایی هم یکی از اینا. همه کسایی که حرفه ای شدن فکر میکنید چقدر از وقتشون رو اینجاها میزارن. سایت استک رو ببینید.
    نه مسئله اینه که سؤال پرسیده میشه ولی کسی جواب نمیده. ضمناً StackOverflow رو نمیشه با Community اختصاصی مقایسه کرد. توی جامعه کاربران اختصاصی، حداقل تیم Support خود فریمورک باید فعال باشن (مثل فاروم Yii که به خیلی از سؤالات، حتی خود Quiang Xuo جواب میده).
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    خوب فریم ورک ایی هم داره میره رو نسخه دو. حتما مواردی بوده که نسخه جدید رو دارن روش کار میکنن. خودتون میدونین ضعفهای زیادی داشته. اگرم نداشته دلایلی بوده که اصل نسخه داره فرق میکنه. خیلی ها هم هنوز راضی نیستن از تغییرات. ولی در کل برای پیشرفت و توسعه نیازهایی سنجیده شده. اگه موردی نباشه که فریم ورک ها توسعه پیدا نمیکنن. حرفتون کاملا اشتباه هستش.
    من نگفتم اینکه نسخه جدید میده، اشکالی داره یا بده، گفتم معناش اینه که هنوز جای کار داره ولی بهرحال اینکه توی هر نسخه، تغییرات اساسی پیدا میکنه (Major) و تغییراتش جزئی (Minor) نیست، یعنی اینکه تیم توسعه هنوز بطور کامل خودش هم تکلیفش با خودش معلوم نیست. بهرحال تیم دو نفره اینجور موارد رو زیاد داره و ثبات تصمیمات توش با یک تیم 10 - 12 نفره خیلی فرق میکنه.
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    انگار اشتباه متوجه شدید. کسی اینجا از این فریم ورک دفاع نمیکنه. یا زیر آب ایی رو نمیزنه. من هنوز هم میگم شما دارید یه طرفه بحث رو جلو میبرید.
    قضاوت درباره اینکه من یکطرفه بحث رو جلو میبرم یا نه، با دیگران. نیازی نیست درباره اش بحث کنیم.
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    خوب ببینید فریم ورک چیکار میکنه؟ یه سری از مواردی رو اینطوری بگم که برای شما یه شهری با یه سری امکاناتش میده. برنامه نویس داخل این شهر میتونه هر کاری بر طبق اون انجام بده چه خوب چه بد. بستگی به حرفه ای بودنش داره. فریم ورک قوانینی تعریف میکنه برای برنامه نویس که ملزم صد در صد به استفاده از قسمتهایی از اون نیست. فریم ورک باید مدیریت کنه نه برخورد. حرف شما اینطوریه که ایی برخورد میکنه با نوع برنامه نویسی.
    به نظر من تعریفتون از فریمورک کمی اشکال داره. درسته که مجبور نیستین از همه قسمتهای یک فریمورک استفاده کنید ولی قواعد اون بخشهایی که استفاده میکنید رو باید استفاده کنید و ازطرفی خود فریمورک هم باید یکپارچگی رویه و قواعد و قوانین داشته باشه (Consistency). ضمناً Yii هم اینطور نیست که داخل اکشنها هم جلوی کارتون رو بگیره و بگه حتماً باید این مدلی کار کنید ولی بهرحال سیستم MVC رو همه جا رعایت میکنه و دقیقاً مشخصه که Routeها کجا پردازش میشن و...
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    شاید شما دارید بد به موضوع نگاه میکنید. تشخیصش هم با ما نیست. در ضمن اینکه فرض کنید لاراول یه فریم ورک کاملا شخصیه و برای استفاده عموم برنامه نویسان منتشر نشده. اگه شما ازش خوشتون نمیاد خوب ازش استفاده نکنید.
    پس چرا شما دارین برای استفاده سایرین، تبلیغش رو میکنید و استارتر تاپیک اومده Yii رو به چالش کشیده و قابلیتهاش رو با Yii مقایسه میکنه؟ این حرف شما کاملاً اشتباهه. اگه فریمورک شخصی بوده، نباید Release میشده و اینهمه هم کاربران میومدن مقاله میدادن که فریمورک سال! لاراول خواهد بود و از این قبیل حرفها
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    برای برنامه نویس حرفه ای امکانات محدودیت هستش. نوع استفاده از امکاناتی که در اختیارش قرار داده میشه مهمه نه خودش.
    نه منظورم رو اشتباه متوجه شدین. میگم وقتی قراره دو مورد با هم مقایسه بشن، امکانات روزشون رو باید مدنظر قرار بدیم نه اینکه من مثلاً دو سال قبل با Yii کار میکردم و بخاطر یکسری مشکلات رفتم سمت لاراول و حالا امروز بیام یه مقاله بنویسم و امکاناتی که امروز لاراول داره رو با امکاناتی که دو سال قبل Yii نداشته، کنار هم بگذارم و نتیجه بگیرم لاراول خیلی از Yii سرتره! اگه قراره مقایسه کنم، باید امکانات همین امروز هر دو فریمورک رو مورد بررسی و مقایسه قرار بدم.

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

    نقل قول: Yii vs Laravel

    در مورد پست آخرم، لاراول هم ایونت های مدل رو داره که بهشون میرسیم

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

    $users = DB::connection('foo')->select(...);

  21. #61

    نقل قول: Yii vs Laravel

    خوبه، پس لاراول در این مورد هم خوب عمل کرده. البته در Yii هم به همین سادگی میشه اتصالهای دلخواه و همزمان رو برقرار کرد.

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

    نقل قول: Yii vs Laravel

    transaction ها
    در لاراول اینجوری میشه بلوکی از دستورات رو به صورت تراکنشی! اجرا کرد که در صورت خطا، به صورت خودکار rollback میشه

    DB::transaction(function()
    {
    DB::table('users')->update(array('votes' => 1));

    DB::table('posts')->delete();
    });


    و یا در صورت نیاز به صورت دستی عملیات ها رو مدیریت کنیم

    DB::beginTransaction();

    DB::rollback();

    DB::commit();

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

    نقل قول: Yii vs Laravel

    در Yii به راحتی میشه از 2 دیتابیس استفاده کرد :
     'components' => array(
    'db' => array(
    'connectionString' => 'mysql:host=dbserver1;dbname=my1db',
    ...
    ),
    'dbadvert' => array(
    'connectionString' => 'mysql:host=adserver2;dbname=advertisingDB',
    'username' => 'advertuser',
    'password' => '***********',
    ...
    'class' => 'CDbConnection' // DO NOT FORGET THIS!
    ),

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

    نقل قول: Yii vs Laravel

    cache فریمورک Yii هم قابل مقایسه با لاراول نیست !

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

    نقل قول: Yii vs Laravel

    خواهش کردم تاپیک رو بهم نریزید!
    جناب engmmrj میشه بفرمایید اگر بخوایم یک مدل از کانکشن اول و یکی دیگه از کانکشن دوم استفاده کنه باید چه کرد؟؟؟
    ضمنا داریم قدم به قدم جلو میریم، کو تا کش!!!

  26. #66

    نقل قول: Yii vs Laravel

    کافیه به مدل، این متد رو اضافه کنیم:

    public function getDbConnection() {
    return Yii::app()->dbadvert;
    }

  27. #67

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط rezakho مشاهده تاپیک
    transaction ها
    در لاراول اینجوری میشه بلوکی از دستورات رو به صورت تراکنشی! اجرا کرد که در صورت خطا، به صورت خودکار rollback میشه

    DB::transaction(function()
    {
    DB::table('users')->update(array('votes' => 1));

    DB::table('posts')->delete();
    });
    معادل Yii:

    $transaction = Yii::app()->db->beginTransaction();
    try {
    Users::model()->updateAll('votes=1');
    Posts::model()->deleteAll();
    $transaction->commit();
    }
    catch(Exception $e) {
    $transaction->rollback();
    }

    نقل قول نوشته شده توسط rezakho مشاهده تاپیک
    و یا در صورت نیاز به صورت دستی عملیات ها رو مدیریت کنیم

    DB::beginTransaction();

    DB::rollback();

    DB::commit();
    توی Yii هم این توابع وجود داره (توی مثالی که گفتم، استفاده شده).

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

    نقل قول: Yii vs Laravel

    ضمنا داریم قدم به قدم جلو میریم، کو تا کش!!!
    اینو گفتم که یک وقت فکر تون سمت cache نره که به بن بست میرسید !

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

    نقل قول: Yii vs Laravel

    خوب بریم سراغ Query Builder

    من از موارد ساده و مواردی که در هر دو وجود داره میگذارم، مواردی رو میگم که یا وجود نداره و یا در Yii سخت تر انجام میشه

    اول همون سینتکس کوتاه و روانش هست برای گرفتن کوئری
    در Yii

    Yii::app()->db->createCommand()->...




    DB::table()->...


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

    // Yii
    Yii::app()->db->createCommand()->select('*')->from('table')->queryAll()

    // Larave
    DB::table('table')->all();


    // Yii
    Yii::app()->db->createCommand()->select('*')->from('table')->queryRow()

    // Larave
    DB::table('table')->first();


    برای واکشی ستون (در یی فقط اولین ستون رو میشه واکشی کرد، ولی در لاراول هر ستونی رو)

    // Yii
    Yii::app()->db->createCommand()->select('*')->from('table')->queryColumn()

    // Larave
    DB::table('table')->lists('columnName', 'optionalKey');

    برای واکشی یک سلول (سطر و ستون خاص) که در یی فقط میشه مقدار ستون اول از سطر اول رو کشید بیرون، ولی در لاراول سطر اول از هر ستونی

    // Yii
    Yii::app()->db->createCommand()->select('*')->from('table')->queryScalar()

    // Larave
    DB::table('table')->pluck('columnName');


    اگر تعداد رکوردها زیاد باشه و بخواهیم همه رو یک جا واکشی کنیم، در لاراول از chunk استفاده میکنیم تا مثلا 200 تا 200 تا رکوردها از جدول واکشی بشند و رم سیستم رو به باد ندیم که در Yii همچین چیزی نداریم و باید خودمون پیاده سازیش کنیم با limit و ...

    // Yii
    $users = Yii::app()->db->createCommand()->select('*')->from('users')->queryAll();

    foreach($users as $user) { ... }

    // Larave
    DB::table->chunk(200, function($users)
    {
    foreach ($users as $user)
    {
    //
    }
    });
    آخرین ویرایش به وسیله MMSHFE : چهارشنبه 07 اسفند 1392 در 10:46 صبح دلیل: بازگرداندن به پست اصلی به دلیل اشتباه در ویرایش بجای نقل قول

  30. #70

    نقل قول: Yii vs Laravel

    لطفاً وقتی از ساختار جدید Yii اطلاع ندارین، لطف کنید فقط ساختار لاراول رو بگذارین و ارائه معادل Yii رو به ما واگذار کنید. اینطوری پستها هم طولانی نمیشه.
    برای واکشی تمام رکوردها
    DB::table('table')->all();
    معادل Yii:
    Table::model()->findAll();

    برای واکشی اولین سطر
    DB::table('table')->first();
    معادل Yii:
    Table::model()->find();

    برای واکشی ستون (در یی فقط اولین ستون رو میشه واکشی کرد، ولی در لاراول هر ستونی رو)
    DB::table('table')->lists('columnName', 'optionalKey');
    باز هم مستندات رو نخونده، قضاوت کردین، گفتم که شما فقط امکانات لاراول رو بگین و به Yii کاری نداشته باشین. معادل Yii :
    Table::model()->findAll(array('select'=>'columnName, 'optionalKey'));

    برای واکشی یک سلول (سطر و ستون خاص) که در یی فقط میشه مقدار ستون اول از سطر اول رو کشید بیرون، ولی در لاراول سطر اول از هر ستونی
    DB::table('table')->pluck('columnName');
    دوباره مستندات نخونده، درمورد Yii قضاوت کردین؟! معادل Yii :
    Table::model()->find(array('select'=>'columnName'));

    حتی میشه ترتیب رو هم مشخص کرد که بر چه اساسی مرتب بشه و بعد، اولین رکورد انتخاب بشه. لطفاً از این به بعد اول مستندات Yii رو بطور کامل مطالعه کنید، بعد درموردش نظر بدین. درغیر اینصورت فقط لطف کنید امکانات خود لاراول رو مطرح کنید و درمورد چیزی که اطلاعات ندارین، مطلب ننویسید که باعث گمراهی بقیه بشه.
    اگر تعداد رکوردها زیاد باشه و بخواهیم همه رو یک جا واکشی کنیم، در لاراول از chunk استفاده میکنیم تا مثلا 200 تا 200 تا رکوردها از جدول واکشی بشند و رم سیستم رو به باد ندیم که در Yii همچین چیزی نداریم و باید خودمون پیاده سازیش کنیم با limit و ...

    // Yii
    $users = Yii::app()->db->createCommand()->select('*')->from('users')->queryAll();

    foreach($users as $user) { ... }

    // Larave
    DB::table->chunk(200, function($users)
    {
    foreach ($users as $user)
    {
    //
    }
    });
    دوباره همون قضاوتهای نا عادلانه ناشی از عدم مطالعه مستندات و اطلاعات قدیمی درباره فریمورک. معادل Yii :
    foreach(Post::model()->findAll(array('limit'=>200)) as $post) { ... }

    بعلاوه با کمک اندیس offset میشه شروع انتخاب رو هم مشخص کرد. با اندیس order هم میشه ترتیب رو تعیین کرد.

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

    نقل قول: Yii vs Laravel

    چرا، اطلاع دارم، منتها شما لطف کنید هر وقت نسخه stable شد این کدها رو بگذارید، فعلا همون 1.14 رو بنویسید
    برای من کاری نداره نسخه dev لاراول رو مثال بزنم

  32. #72

    نقل قول: Yii vs Laravel

    برادر من همه اینها مال نسخه 1.1.14 هست. چه ربطی به 2 داره. Syntax رو یه نگاه بنداز. اینم لینک

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

    نقل قول: Yii vs Laravel

    درسته، من چون کد پست قبل شلوغ بود، اشتباه کردم، ولی شما دارید الان از ActiveRecord استفاده میکنید، بحث ما Query Builder بوده

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

    نقل قول: Yii vs Laravel

    میدونید اشکال کجاست، اشکال اینجاست که من دارم قدم به قدم میرم جلو، ولی شما در جواب میای هر چی تو اون مبحث هست رو به کلی و کمی جلوتر جواب میدید، الان offset و order و ... من اصلا نگفتم، ما اصلا به ORM نرسیدیم!!!

  35. #75

    نقل قول: Yii vs Laravel

    چه ربطی داره؟ اینکه Yii قابلیت خیلی خوب و قدرتمندی به اسم ActiveRecord داره مهم نیست؟ وقتی چنین قابلیتی هست، چرا باید از Query Builder استفاده کنیم؟ با وجود AR در Yii عملاً استفاده از QueryBuilder فقط به تولید Queryهای پیچیده یا موارد خاص مثل ساخت Event و Trigger و... محدود میشه. شما جوری درمورد Query Builder لاراول صحبت میکنید که خواننده تاپیک فکر میکنه Yii کلاً همه کارها رو سخت کرده و نمیشه به راحتی لاراول داخلش کار کرد. بعلاوه توی همون Query Builder هم کارها به اون سختی که شما نوشتین نیست. برای مثال، همون مورد آخر (chunk) رو با QueryBuilder فریمورک Yii مینویسم:
    foreach(Yii::app()->db->createCommand()->from('users')->limit(200)->queryAll() as $user) { ... }

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

    نقل قول: Yii vs Laravel

    در ضمن اون آخری، chunk، الان کد شما چند تا میکشه بیرون توی foreach ؟

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

    نقل قول: Yii vs Laravel

    محدود بشه، مگه لاراول چیزی مثل ActiveRecord نداره؟ گفتم که قدم به قدم بریم جلو! الان مبحث روی همون کوئری های پیچیده هست، مبحث ORM نیست!

  38. #78

    نقل قول: Yii vs Laravel

    نقل قول نوشته شده توسط rezakho مشاهده تاپیک
    میدونید اشکال کجاست، اشکال اینجاست که من دارم قدم به قدم میرم جلو، ولی شما در جواب میای هر چی تو اون مبحث هست رو به کلی و کمی جلوتر جواب میدید، الان offset و order و ... من اصلا نگفتم، ما اصلا به ORM نرسیدیم!!!
    نه اشکال از اون نیست. اینکه من order و... رو گفتم بخاطر اینه که حدس زدم لابد بعدش میخواین سراغ Eloquent برین و گفتم همینجا آب پاکی رو روی دستتون بریزم و بگم ActiveRecord فریمورک Yii تمام اون امکانات رو داره که هیچ، یک سروگردن هم بالاتره و بهتره وقت خودمون و سایرین رو روی ORM نگیرین. شما میاین میگین فلان کار رو توی Yii نمیشه یا به سختی میشه انجام داد، من میام میگم برعکس، هم میشه انجام داد و هم میشه راحت انجام داد و هم میشه کارهای بیشتری هم انجام داد. کجای اینجور جواب دادن مشکل داره؟

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

    نقل قول: Yii vs Laravel

    حالا زیاد تند نرید، به eloquent هم میرسیم
    فعلا اون آخری، chunk، الان کد شما چند تا میکشه بیرون توی foreach ؟

  40. #80

    نقل قول: Yii vs Laravel

    200 تا دیگه

صفحه 2 از 9 اولاول 1234 ... آخرآخر

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

  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 عصر

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

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

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