نمایش پروژه در فریم ورک یی yii قسمت دوم

نمایش پروژه در فریم ورک یی yii  قسمت دوم

توی پست قبلی با کنترلر site آشنا شدیم. اکشن index اونم بررسی کردیم. توی این پست میخوایم سایر اکشن های کنترلر site رو بررسی کنیم.
آموزش فریمورک یی آموزش فریم ورک یی فریمورک یی فریم ورک یی فریمورکyii فریم ورک yii yiiframework yii framework

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

شماره دو فولدر ویو view  داخلش فولدری با اسم کنترلرمون: اینجا site  . داخل فولدر ظاهر اکشنامونه.

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


'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}

/**
* This is the default 'index' action that is invoked
* when an action is not explicitly requested by users.
*/
public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$this->render('index');
}

/**
* This is the action to handle external exceptions.
*/
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}

/**
* Displays the contact page
*/
public function actionContact()
{
$model=new ContactForm;
if(isset($_POST['ContactForm']))
{
$model->attributes=$_POST['ContactForm'];
if($model->validate())
{
$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
$subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
$headers="From: $name <{$model->email}>\r\n".
"Reply-To: {$model->email}\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: text/plain; charset=UTF-8";

mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
$this->refresh();
}
}
$this->render('contact',array('model'=>$model));
}

/**
* Displays the login page
*/
public function actionLogin()
{
$model=new LoginForm;

// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}

// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
$this->redirect(Yii::app()->user->returnUrl);
}
// display the login form
$this->render('login',array('model'=>$model));
}

/**
* Logs out the current user and redirect to homepage.
*/
public function actionLogout()
{
Yii::app()->user->logout();
$this->redirect(Yii::app()->homeUrl);
}
}

ما علاوه بر اکشن index ,

actionError  برای مدیریت کردن خطاهامون

actionContact  برای صفحه ی تماس با ما

actionLogin  برای ورود به سایت

actionLogout برای خروج از سایت داریم.

actionContact چون مدل داره توی جلسات بعدی آموزش میدیم.
فعلا میخوایم مفهوم کنترلر و اکشن و ویو رو بگیم.
الان من میخوام یه اکشن ایجاد کنم و براش یه ویو بسازم و نمایش بدم.

اکشن من اسمش هست goyii کد زیر :

public function actionGoyii() {
$variable = "آموزش فریم ورک یی در سایت گو یی دات ای آر";
$this->render('goyii', array('test' => $variable));
}

خوب ما یه اکشن نوشتیم به اسم  goyii .

میبینین که اولش از کلمه ی action استفاده کردم و حرف اولشم بزرگ نوشتم.

خط بعد من یه متغیر ایجاد کردم به اسم :  $variable  که متنی داخلشه.

حالا با خط بعد : من متغییرمو با اسم testفرستادم به ویو . اسم ویوم هست goyii

توی ویو شما با استفاده testمیتونین اون متن بزرگرو دریافت کنین.

 

نمایش پروژه در فریم ورک یی yii  قسمت دوم

 

قدم بعدی قرار دادن ظاهر در ویو هست.

خوب برای این اکشن کجا باید ظاهر بسازم؟

درسته توی فولدر ویو و در  فولدر site

من داخل فولدر ویو و داخل فولدر site  یه فایل پی اچ پی میسازم به اسم goyii.php

آموزش فریمورک یی آموزش فریم ورک یی فریمورک یی فریم ورک یی فریمورکyii فریم ورک yii yiiframework yii framework

حالا من توی goyii.php   کدهای زیرو مینویسم.:

<h1>اولین اکشن و ویوی ما </h1>
<p>دریافت متغییر از طریق $test</p>
<?php echo $test; ?>

خوب حالا این آدرسو توی مرورگر وارد کنید:

http://localhost:1007/index.php?r=site/goyii

نتیجه:

آموزش فریمورک یی آموزش فریم ورک یی فریمورک یی فریم ورک یی فریمورکyii فریم ورک yii yiiframework yii framework

 

تبریک به تو , تبریک به من , تبریک به همه

شما ۷۰ درصد  mvc رو یاد گرفتین

اولین اکشنو ویوتونم که نوشتین. دیگه چی میخواین 😀

سوالی بود در خدمتم

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

عنوان یادتون نره : goyii

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *