عنوان مقاله :

مزایا و معایب فریم ورک yii

گردآوری و تالیف : محمد صادق زحمتکش
تاریخ انتشار : 15 تیر 1396
دسته بندی ها : پی اچ پی

در این مقاله سعی داریم به بررسی یکی دیگر از فریم ورک های php به نام yii بپردازیم و از جهات مختلف با مزایا و معایب آن آشنا شویم. باما همراه باشید:

فریم ورک yii به عنوان یک فریم ورک اپ سورس(متن باز) از سال 2008 شروع به کار کرد و تا الان (2017) توانسته است نظر بسیاری از توسعه دهندگان وب و برنامه نویسان php ر ا به خود جلب کند.

Yii در نسخه های مختلفی عرضه شده و به منظور پروژه های مختلفی بالخصوص تجارت الکترونیک مورد استفاده قرار میگیرد.

آخرین نسخه yii با نام yii2.0 منتشر و قابل استفاده است.

طبق ادعای سازندگان yii می توان yii را یک فریم ورک قدرتمند در عین حال ساده و قابل گسترش توصیف کرد که تا حدی این ادعا صحیح می باشد.

مزایای فریم ورک yii

  • Yii قابلیت گسترش و تغییر توسط توسعه دهندگان را دارد و یک فریم ورک متن باز می باشد.
  • فریم ورک yii توانسته است با بهره گیری از کلاس های هوشمند خود تعداد زیادی از درخواست های ارسالی از طرف سرور را در هر ثانیه رسیدگی و پاسخ دهد، علاوه بر این ظرفیت ذخیره سازی yii بسیار بیشتر از سایر فریم ورک های هم رده است.
  • در yii کلاس هایی جهت امنیت پروژه و جلوگیری از هک و نفوذ به دیتابیس ایجاد شده است.

  • هر کلاس و تابع  yii بدون رمز گذاری کد ها ، قابل تغییر می باشد که این امر باعث سفارشی سازی کلاس ها و توابع موجود در این فریم ورک می گردد و این امکان را به توسعه دهنده می دهد تا فریم ورک yii را با توجه به نیاز پروژه ی خود تغییر دهد.
  • فریم ورک yii دارای اسناد و فایل های بسیاری جهت آموزش و همچنین معرفی کلاس ها و توابع موجود در این فریم ورک است . این اسناد و فایل ها در یادگیری و رفع مشکلات توسعه دهندگان در استفاده از yii بسیار مفید و کاربردی می باشد.
  • کلاس ها و توابعی منحصر به فرد جهت کار با دیتابیس در قالبی سریع و امن.
use yii\db\Query;

use app\models\Customer;



$customers = (new Query)->from('customer')

    ->where(['status' => Customer::STATUS_ACTIVE])

    ->orderBy('id')

    ->all();



$customers = Customer::find()

    ->where(['status' => Customer::STATUS_ACTIVE])

    ->orderBy('id')

    ->asArray();

    ->all();

(کد زیر در مورد پرس و جو های رابطه ای در یک رکورد است):


namespace app\models;



use app\models\Order;

use yii\db\ActiveRecord;



class Customer extends ActiveRecord

{

    public static function tableName()

    {

        return 'customer';

    }



    // defines a one-to-many relation with Order model

    public function getOrders()

    {

        return $this->hasMany(Order::className(), ['customer_id' => 'id']);

    }

}



// returns the customer whose id is 100

$customer = Customer::findOne(100);

// returns the orders for the customer

$orders = $customer->orders;

  • کلاس ها و توابعی بهینه شده جهت کار با پروتکل Http .

معایب فریم ورک yii 

  • برخلاف ادعای سازندگان yii مبنی بر سادگی فریم ورک yii اما yii آنقدر ها هم ساده نیست.حتی با وجود اسناد و فایل های کمک آموزشی برخی از کلاس ها و توابع yii بسیار مبهم و گیج کننده است که توسعه دهندگان به سختی میتوانند آنها را درک و تغییر و سفارشی سازی کنند.

  • با توجه به گستردگی فریم ورک های php و افزایش تعداد آ«ها و رقابت شدید بین قابلیت ها و سرعت فریم ورک ها، تعداد توسعه دهندگان فریمورک yii به شدت کاهش پیدا کرده است و به دنبال آن گسترش و به روز رسانی های این فریم ورک متن باز که عملا کار توسعه دهندگان آن است به کندی و با زمانی طولانی صورت میگیرد.
  • مدیریت کلاس ها وتوابع در پروژه های بزرگ دشوار می باشد.

جمع بندی

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

Yii برای پروژه های کوچک و متوسط و نیز سایت هایی مبتنی بر تجارت الکترونیک و فروشگاهی بسیار مناسب است.

برای دریافت فایل های مربوط به فریم ورک yii می توانید به لینک زیر مراجعه نمایید:

http://www.yiiframework.com/download/

مقالات پیشنهادی

کلاس PHP Live Radio Streaming

در این مقاله قصد داریم به معرفی یکی دیگر از  کلاس های حوزه ی  Audioاز مجموعه کلاس های php بپردازیم.با ما همراه باشید . کلاسی که در این مقاله درباره ی...

Composer ، ابزار مدیریت پکیچ ها و پلاگین ها در PHP

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

کتابخانه ی PHP Excel

کتابخانه ی  php Excel از مجموعه توابع و کلاس هایی تشکیل شده است که این امکان را به برنامه نویسان و توسعه دهندگان میدهد تا قابلیت ویرایش صفحه گسترده (s...

کتابخانه پی اچ پی Monolog

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

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
مسعود | 2 ماه پیش

این فریم ورک عالیه
من ابتدا با لاراول کار میکردم
به پیشنهاد یکی از دوستان رفتم سراغ Yii و دیگه برنگشتم :)
به نظرم من اگه کسی طعم کار باGii رو بچشه سراغ هیچ فریم ورک دیگه ای نمیره

عباس | 3 ماه پیش

توسعه دهندگان yii میگن فریم ورک اسونیه دلیلشونم وجود ابزاری مثل gii داخل این فریم ورکه که در عرض چند ثانیه کنترلر ها مدل ها و ویو ها رو میتونین بسازین بدون هیچ کد نویسی و فقط و فقط توی یک محیط ساده و گرافیکی کاراتون رو انجام میدین