نحوه ساخت یک صفحه در فریمورک Yii
اکنون ما می خواهیم یک صفحه "Hello world" را در برنامه خود ایجاد کنیم. برای ایجاد یک صفحه، ما باید یک action و یک view ایجاد کنیم.
Actionها در controller ها اعلام می شود. و در پایان، کاربر، نتیجه اجرای یک action را دریافت می کند.
مرحله 1 – برای تعریف یک action با نام speack در یک کنترلر به نام SiteController وارد کلاس موجود در فایل class / SiteController.php می شویم و کد زیر را وارد می کنیم.
<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\LoginForm;
use app\models\ContactForm;
class SiteController extends Controller {
/* other code */
public function actionSpeak($message = "default message") {
return $this->render("speak",['message' => $message]);
}
}
?>
ما actionسخنگو یا speek را به عنوان یک متد به نام actionSpeak تعریف کردیم. در فریمورک Yii، نامگذاری تمام اکشن متدها، به این صورت است که باید قبل از نام اکشن متد، کلمه Action، بیان شود. به وسیله ی این روش در فریمورک شما می توانید متدهای اکشن را از متدهای غیر اکشن تشخیص دهید. اگر شناسه یکaction از چندین کلمه ساخته شود ، کلمات با خط های تیره یا dash ترکیب می شوند. از این رو، یک شناسهaction با نام add-post با اکشن متد actionAddPost برابر است.
ما همچنین یک متد با نام 'render' را فراخوانی می کنیم تا یک فایل view که speck نامیده می شود رافراخوانی کند. ما پارامتر message را به view پاس می دهیم و نتیجه رندر کردن یک صفحه HTML کامل است که برای کاربر نمایش داده می شود.
View یک اسکریپت است که محتوای پاسخ (response's content) را ایجاد می کند. برای action سخنگو یا speck ما یک view ایجاد نمودیم تا پیام های ما را چاپ کند. هنگامی که متد render فراخوانی می شود، یک فایل PHP به نام view/controllerID/vewName.php فراخوانی می شود.
مرحله 2 - بنابراین، داخل پوشه views / site یک فایل با نام say.php با کد زیر ایجاد می کند.
<?php
use yii\helpers\Html;
?>
<?php echo Html::encode($message); ?>
توجه داشته باشید که ما با استفاده از تابع encode ، پارامتر $message را، قبل از چاپ، رمزگذاری می کنیم تا از حمله XSS جلوگیری کنیم.
مرحله 3 - در مرورگر وب خود زیر را وارد کنید : http://localhost:8080/index.php?r=site/speak&message=hello%20world.
شما پنجره زیر را مشاهده خواهید کرد -
منظور از پارامتر 'r' در URL همان route است. فرمت نوشتن یک route بطور پیش فرض، به صورت controllerID/actionID می باشد. در نمونه ی ما، روت site/speak می باشد که به کلاس SiteController و action با نام speak تعبیر خواهد شد.
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…