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

۱ مطلب با کلمه‌ی کلیدی «فریم ورک یی» ثبت شده است

  • ۰
  • ۰

yii چیست؟

سلامی مجدد خدمت خوانندگان وبلاگ.

 

در این پست می خوام شما رو با یکی از فریم ورک های قدرتمند php به نام yii با تلفظ yee یا ییی.

 

اولین نسخه ی این فریم وکر توسط Qiang Xue در سال 2088 منتشر شد. Qiang Xue یکی از اعضای گروه توسعه دهنده ی فریم ورک prado بودند. به نوعی prado پدربزرگ yii محسوب می شود.

 

آقای Qiang Xue فردی چینی است که در ویرجینیای آمریکا زندگی می کند.

آدرس وی در گیت هاب: Qiang Xue

 

از این بحث ها که بگذریم آخرین نسخه ی منتشر شده از نسخه ی 1 نسخه 1.1.15 بود که تنها رفع باگ یک مشکل امنیتی بود.(منتشر شده در 30 جوئن 2014)

 

البته تیم توسعه که اکنون متشکل از Alexander Makarov , Maurizio Domba , Carsten Brandt , Timur Ruziev , Paul Klimov و خود Qiang Xue نسخه ی 2 فریم ورک را نیز آماده کرده اند که احتمالا در 12 اکتبر به صورت رسمی منتشر خواهد شد. البته نسخه های آلفا، بتا و همچنین rc را می توانید در گیت هاب ببینید.

 

در نسخه ی 2 فریم ورک پشتیبانی از composer اضافه شده است که این مورد بر قدرت فریم ورک می افزاید.

 

این فریم ورک از یک active record توکار برای مدیریت دیتابیس استفاده می کند. امکانات بسیاری نیز همچون rbac درون خود جای داده است.

 

در بخش اکتنشن های سایت فریم ورک می توانید تعداد زیادی اکتنشن حدود 1600 مورد که در اکتنشن های نسخه ی را باید دانلود و کنار فریم ورک قرار داده اما اکتنشن های نسخه ی 2 را بایستی توسط composer نصب کنید.

 

از نمونه کد نویسی در نسخه ی دوم این فریم ورک می توان مدل زیر را معرفی کرد:

<?php

namespace app\controllers;

use Yii;
use yii\filters\AccessControl;
use app\components\Controller;
use yii\filters\VerbFilter;
use app\models\LoginForm;
use app\models\ContactForm;
use app\models\Product;

class SiteController extends Controller
{

	public function actions()
	{
		return [
			'error' => [
				'class' => 'yii\web\ErrorAction',
			],
			'captcha' => [
				'class' => 'yii\captcha\CaptchaAction',
				'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
			],
		];
	}

	public function actionIndex()
	{
		
		$products = Product::find()->limit(4)->orderBy('id DESC')->all();
		$productsSales = Product::find()->orderBy('sales DESC')->limit(4)->all();
		return $this->render('index', [
			'products' => $products,
			'productsSales' => $productsSales
		]);
	}

	public function actionAbout()
	{
		return $this->render('about');
	}
}

  • آقای ماه