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

  • ۰
  • ۰

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');
	}
}

نظرات (۱)

خودمونیم خداییش نسخه 2 مزخرف شده :)
پاسخ:
خوب هر کسی نظری داره :)

ولی به نظر من تو بعضی جا ها بهتر شده. این که بعضی متدا استاتیک شدن و الکی آپجکت درست نمی کنیم و اینا.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی