国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php PHP開發(fā)框架Yii Framework教程(1) 第一個應(yīng)用Hello World

PHP開發(fā)框架Yii Framework教程(1) 第一個應(yīng)用Hello World

Jan 21, 2017 am 09:24 AM

Yii Framework 教程可以參見官方中文文檔?,那么為什么還要寫這個開發(fā)教程呢? 本教程目的是通過不同的視角(主要是通過開發(fā)Windows應(yīng)用C++,C#程序員的角度)幫助Windows 桌面應(yīng)用或ASP.NET程序員較快的掌握PHPYii Framework應(yīng)用程序框架。 使用PHP開發(fā)Web應(yīng)用的一個重要好處是可以應(yīng)用于各種操作系統(tǒng)(Unix,Windows,Mac OS),而不像Asp.Net一般只能應(yīng)用中Windows操作系統(tǒng)上。使用PHP+Apache+MySQL(XMAP/LAMP) 幾乎可以打遍天下無敵手:-)。

本教程所使用的操作系統(tǒng)為Windows,開發(fā)IDE為 VS.PHP,之所以使用這個開發(fā)環(huán)境是因為VS.PHP采用Visual Studio 作為IDE ,對于Visual Studio開發(fā)人員比較熟悉。而且可以用來同時開發(fā)調(diào)試C#,PHP應(yīng)用。 Yii Framework 本身和IDE無關(guān),你可以使用你喜歡的PHP開發(fā)工具來開發(fā)Yii 應(yīng)用(比如Eclipse)。關(guān)于VS.PHP的介紹可以參見?VS.PHP + YiiFramework 組合開發(fā)PHP應(yīng)用。本教程關(guān)于Yii Framework知識也和開發(fā)IDE無關(guān),可以應(yīng)用到各種開發(fā)環(huán)境,你可以選擇你自己喜歡的開發(fā)環(huán)境。

在創(chuàng)建第一個應(yīng)用之間,需要下載Yii 開發(fā)包,下載可以到Y(jié)ii網(wǎng)站http://www.yiiframework.com/download/ 下載,目前版本為1.1.12, 下載后直接解壓,為方便起見將其解壓到C:根目錄下:

551.png


使用VS.PHP的還有一個好處是其自帶了Apache Web 服務(wù)器,因此無需另外安裝,你也可以安裝XAMP?(Apache+MySQL+PHP) ,但如需要使用MySQL,則另外需安裝MySQL.

安裝好Yii Framework之后,我們就使用VS.PHP來創(chuàng)建第一個PHP應(yīng)用,Hello World。

552.png

VS.PHP 創(chuàng)建HelloWorld項目,并添加一個index.php 文件。

此時修改index.php 為

<?php  
print "Hello, World!";  
  
?>
<?php  
print "Hello, World!";  
  
?>

按F5運行程序,VS.PHP打開確省瀏覽器,顯示“Hello,World!”. 但這不是一個Yii應(yīng)用?。?!,我們還沒有使用Yii Web應(yīng)用程序框架,Yii Framework是一個純面向?qū)ο蟮膽?yīng)用程序框架。其Web程序的Application類為CWebApplication類。并采用了MVC模型。

面的示意圖展示了 Yii 應(yīng)用的靜態(tài)結(jié)構(gòu)

553.png

下圖展示了一個 Yii 應(yīng)用在處理用戶請求時典型的工作流

554.png

用戶發(fā)出了訪問 URL http://www.example.com/index.php?r=post/show&id=1 的請求, Web 服務(wù)器通過執(zhí)行入口腳本 index.php 處理此請求。

入口腳本創(chuàng)建了一個 應(yīng)用 實例并執(zhí)行。

應(yīng)用從一個叫做 request 的 應(yīng)用組件 中獲得了用戶請求的詳細信息。

應(yīng)用在一個名叫 urlManager 的應(yīng)用組件的幫助下,決定請求的 控制器 和 動作 。在這個例子中,控制器是 post,它代表 PostController 類; 動作是 show ,其實際含義由控制器決定。

應(yīng)用創(chuàng)建了一個所請求控制器的實例以進一步處理用戶請求??刂破鳑Q定了動作 show 指向控制器類中的一個名為 actionShow 的方法。然后它創(chuàng)建并持行了與動作關(guān)聯(lián)的過濾器(例如訪問控制,基準測試)。 如果過濾器允許,動作將被執(zhí)行。

動作從數(shù)據(jù)庫中讀取一個 ID 為 1 的 Post 模型。

動作通過 Post 模型渲染一個名為 show 的 視圖。

視圖讀取并顯示 Post 模型的屬性。

視圖執(zhí)行一些 小物件。

視圖的渲染結(jié)果被插入一個 布局。

動作完成視圖渲染并將其呈現(xiàn)給用戶。

Yii應(yīng)用本身有很多配置,比如確省的Controller ,action是否使用Log文件等。對于Hello,World這個簡單的應(yīng)用,就全部使用缺省值。缺省的Controller為SiteController, Action為indexAction. 也就是說,比如你的網(wǎng)站為www.guidebee.com ,如果你采用Yii Framework, 用戶請求www.guidebee.com時,Yii 應(yīng)用的CWebApplication 將創(chuàng)建類SiteController的實例并調(diào)用SiteController的indexAction方法,(相當于C# Console應(yīng)用的Program 的main方法)。

Yii 項目使用不同的目錄來存放Controller,Action,View,Layout等,其缺省目錄結(jié)構(gòu)如下

testdrive/
index.php Web 應(yīng)用入口腳本文件
index-test.php 功能測試使用的入口腳本文件
assets/ 包含公開的資源文件
css/ 包含 CSS 文件
images/ 包含圖片文件
themes/ 包含應(yīng)用主題
protected/ 包含受保護的應(yīng)用文件
yiic yiic 命令行腳本
yiic.bat Windows 下的 yiic 命令行腳本
yiic.php yiic 命令行 PHP 腳本
commands/ 包含自定義的 'yiic' 命令
shell/ 包含自定義的 'yiic shell' 命令
components/ 包含可重用的用戶組件
Controller.php 所有控制器類的基礎(chǔ)類
Identity.php 用來認證的 'Identity' 類
config/ 包含配置文件
console.php 控制臺應(yīng)用配置
main.php Web 應(yīng)用配置
test.php 功能測試使用的配置
controllers/ 包含控制器的類文件
SiteController.php 默認控制器的類文件
data/ 包含示例數(shù)據(jù)庫
schema.mysql.sql 示例 MySQL 數(shù)據(jù)庫
schema.sqlite.sql 示例 SQLite 數(shù)據(jù)庫
testdrive.db 示例 SQLite 數(shù)據(jù)庫文件
extensions/ 包含第三方擴展
messages/ 包含翻譯過的消息
models/ 包含模型的類文件
LoginForm.php 'login' 動作的表單模型
ContactForm.php 'contact' 動作的表單模型
runtime/ 包含臨時生成的文件
tests/ 包含測試腳本
views/ 包含控制器的視圖和布局文件
layouts/ 包含布局視圖文件
main.php 所有視圖的默認布局
column1.php 使用單列頁面使用的布局
column2.php 使用雙列的頁面使用的布局
site/ 包含 'site' 控制器的視圖文件
pages/ 包含 "靜態(tài)" 頁面
about.php "about" 頁面的視圖
contact.php 'contact' 動作的視圖
error.php 'error' 動作的視圖(顯示外部錯誤)
index.php 'index' 動作的視圖
login.php 'login' 動作的視圖
system/ 包含系統(tǒng)視圖文件

這個目錄結(jié)構(gòu)可以通過Yii自帶的工具來創(chuàng)建缺省的文件建立第一個 Yii 應(yīng)用。

對于Hello World項目來說,沒有必要這么復(fù)雜,我們只需創(chuàng)建 protected \controllers 目錄以存放SiteController.php。

每個Yii應(yīng)用都有的入口腳本,可以理解為C#的Program類。這個 入口腳本大同小異

<?php  
  
// 包含Yii引導(dǎo)文件  
//require_once(dirname(__FILE__).&#39;/../../framework/yii.php&#39;);  
$yii=&#39;C:/yiiframework/yii.php&#39;;  
// 發(fā)布應(yīng)用時,去掉下面代碼避免產(chǎn)生調(diào)試信息  
defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;,true);  
  
require_once($yii);  
// 創(chuàng)建一個應(yīng)用實例并執(zhí)行  
  
Yii::createWebApplication()->run();
<?php  
  
// 包含Yii引導(dǎo)文件  
//require_once(dirname(__FILE__).&#39;/../../framework/yii.php&#39;);  
$yii=&#39;C:/yiiframework/yii.php&#39;;  
// 發(fā)布應(yīng)用時,去掉下面代碼避免產(chǎn)生調(diào)試信息  
defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;,true);  
  
require_once($yii);  
// 創(chuàng)建一個應(yīng)用實例并執(zhí)行  
  
Yii::createWebApplication()->run();

前面說過Yii的缺省Controller為SiteController,缺省Action為actionIndex, 因此HelloWorld的SiteController代碼如下

/** 
 * SiteController is the default controller to handle user requests. 
 */  
class SiteController extends CController  
{  
    /** 
     * Index action is the default action in a controller. 
     */  
    public function actionIndex()  
    {  
        echo &#39;Hello World&#39;;  
    }  
}
/** 
 * SiteController is the default controller to handle user requests. 
 */  
class SiteController extends CController  
{  
    /** 
     * Index action is the default action in a controller. 
     */  
    public function actionIndex()  
    {  
        echo &#39;Hello World&#39;;  
    }  
}

此時再運行應(yīng)用,可以在瀏覽器中顯示“Hello,World”。 目前沒有使用MVC模型直接在Controller 使用echo 打印出“Hello,World”, 下面稍微修改一下代碼,創(chuàng)建一個簡單的View。

View缺省目錄為protected 目錄下的views 子目錄,和Controller類對于,比如SiteController對應(yīng)到Views目錄下的site子目錄,和Asp.Net一樣,Yii的View(對應(yīng)到Asp.Net的Page類)也可以使用MasterPage,Yii應(yīng)用成為Layout,缺省Layout存放在views的layouts 子目錄。

555.png

修改SiteController的actionIndex 方法,改為:

public function actionIndex()  
{  
 $this->render("index");  
}
public function actionIndex()  
{  
 $this->render("index");  
}

View 視圖是一個包含了主要的用戶交互元素的PHP腳本.他可以包含PHP語句,但是我們建議這些語句不要去改變數(shù)據(jù)模型,且最好能夠保持其單純性(單純作為視圖)。為了實現(xiàn)邏輯和界面分離,大段的邏輯應(yīng)該被放置于控制器或模型中,而不是視圖中,視圖有一個名字,當渲染(render)時,名字會被用于識別視圖腳本文件。

actionIndex 通過render 方法來顯示一個View,對應(yīng)到views->site 目錄下的 index.php 。render 缺省使用views ->layouts 下的 main.php 作為 Layout (布局,MasterPage)

布局是一種用來修飾視圖的特殊的視圖文件.它通常包含了用戶界面中通用的一部分視圖.例如:布局可以包含header和footer的部分,然后把內(nèi)容嵌入其間.

......header here......

......footer here......

其中的 $content 則儲存了內(nèi)容視圖的渲染結(jié)果.

來看一下View是目錄下的index.php (View) 代碼:

<?php echo "Hello,World!"; ?>
<?php echo "Hello,World!"; ?>

這樣就完成了Hello,World的MVC模型,運行顯示“Hello,World”。

556.png

以上就是PHP開發(fā)框架Yii Framework教程(1) 第一個應(yīng)用Hello World的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(miracleart.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengenal pasti isu peningkatan Windows menggunakan SetupDiag pada Windows 11/10 Bagaimana untuk mengenal pasti isu peningkatan Windows menggunakan SetupDiag pada Windows 11/10 Apr 17, 2023 am 10:07 AM

Setiap kali PC Windows 11 atau Windows 10 anda mempunyai masalah naik taraf atau kemas kini, anda biasanya akan melihat kod ralat yang menunjukkan sebab sebenar di sebalik kegagalan. Walau bagaimanapun, kadangkala kekeliruan boleh timbul apabila peningkatan atau kemas kini gagal tanpa kod ralat dipaparkan. Dengan kod ralat yang berguna, anda tahu dengan tepat di mana masalahnya supaya anda boleh cuba membetulkannya. Tetapi kerana tiada kod ralat muncul, ia menjadi mencabar untuk mengenal pasti isu dan menyelesaikannya. Ini akan mengambil banyak masa anda untuk mengetahui sebab di sebalik ralat. Dalam kes ini, anda boleh cuba menggunakan alat khusus yang dipanggil SetupDiag yang disediakan oleh Microsoft yang membantu anda mengenal pasti dengan mudah sebab sebenar di sebalik ralat.

Isu Pemasangan Rangka Kerja Microsoft NET Kod Ralat 0x800c0006 Betulkan Isu Pemasangan Rangka Kerja Microsoft NET Kod Ralat 0x800c0006 Betulkan May 05, 2023 pm 04:01 PM

.NET Framework 4 diperlukan oleh pembangun dan pengguna akhir untuk menjalankan versi terkini aplikasi pada Windows. Walau bagaimanapun, semasa memuat turun dan memasang .NET Framework 4, ramai pengguna mengadu bahawa pemasang berhenti di tengah jalan, memaparkan mesej ralat berikut - " .NET Framework 4 belum dipasang kerana Muat turun gagal dengan kod ralat 0x800c0006 ". Jika anda juga mengalaminya semasa memasang .NETFramework4 pada peranti anda maka anda berada di tempat yang betul

SCNotification telah berhenti berfungsi [5 langkah untuk membetulkannya] SCNotification telah berhenti berfungsi [5 langkah untuk membetulkannya] May 17, 2023 pm 09:35 PM

Sebagai pengguna Windows, anda mungkin akan menghadapi ralat SCNotification telah berhenti berfungsi setiap kali anda memulakan komputer anda. SCNotification.exe ialah fail pemberitahuan sistem Microsoft yang ranap setiap kali anda memulakan PC anda kerana ralat kebenaran dan kegagalan rangkaian. Ralat ini juga dikenali dengan nama acaranya yang bermasalah. Jadi anda mungkin tidak melihat ini sebagai SCNotification telah berhenti berfungsi, tetapi sebagai pepijat clr20r3. Dalam artikel ini, kami akan meneroka semua langkah yang anda perlu ambil untuk membetulkan SNotification telah berhenti berfungsi supaya ia tidak mengganggu anda lagi. Apakah itu SNotification.e

Microsoft .NET Framework 4.5.2, 4.6 dan 4.6.1 akan menamatkan sokongan pada April 2022 Microsoft .NET Framework 4.5.2, 4.6 dan 4.6.1 akan menamatkan sokongan pada April 2022 Apr 17, 2023 pm 02:25 PM

Pengguna Microsoft Windows yang telah memasang Microsoft.NET versi 4.5.2, 4.6 atau 4.6.1 mesti memasang versi Microsoft Framework yang lebih baharu jika mereka mahu Microsoft menyokong rangka kerja melalui kemas kini produk masa hadapan. Menurut Microsoft, ketiga-tiga rangka kerja akan menghentikan sokongan pada 26 April 2022. Selepas tarikh sokongan tamat, produk tidak akan menerima "pembetulan keselamatan atau sokongan teknikal." Kebanyakan peranti rumah sentiasa dikemas kini melalui kemas kini Windows. Peranti ini sudah mempunyai versi rangka kerja yang lebih baharu yang dipasang, seperti .NET Framework 4.8. Peranti yang tidak mengemas kini secara automatik boleh

Yii2 vs Phalcon: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi pemaparan grafik? Yii2 vs Phalcon: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi pemaparan grafik? Jun 19, 2023 am 08:09 AM

Dalam era maklumat semasa, data besar, kecerdasan buatan, pengkomputeran awan dan teknologi lain telah menjadi tumpuan perusahaan utama. Di antara teknologi ini, teknologi pemaparan kad grafik, sebagai teknologi pemprosesan grafik berprestasi tinggi, telah mendapat perhatian yang lebih. Teknologi pemaparan kad grafik digunakan secara meluas dalam pembangunan permainan, filem dan kesan khas televisyen, pemodelan kejuruteraan dan bidang lain. Bagi pembangun, memilih rangka kerja yang sesuai dengan projek mereka adalah keputusan yang sangat penting. Antara bahasa semasa, PHP ialah bahasa yang sangat dinamik Beberapa rangka kerja PHP yang sangat baik seperti Yii2, Ph

Mengapakah rangka kerja Yii lebih baik digunakan daripada rangka kerja lain? Mengapakah rangka kerja Yii lebih baik digunakan daripada rangka kerja lain? Jun 21, 2023 am 10:30 AM

Rangka kerja Yii ialah rangka kerja PHP berprestasi tinggi, berskala dan selamat. Ia adalah alat pembangunan yang sangat baik yang membolehkan pembangun membina aplikasi web yang kompleks dengan cepat dan cekap. Berikut ialah beberapa sebab mengapa rangka kerja Yii lebih baik digunakan daripada rangka kerja lain. Rangka kerja Yii berprestasi tinggi menggunakan beberapa teknologi canggih, seperti pemuatan malas dan pemuatan kelas automatik, yang menjadikan prestasi rangka kerja Yii lebih tinggi daripada kebanyakan rangka kerja lain. Ia juga menyebut

KB5012643 untuk Windows 11 memecahkan apl .NET Framework 3.5 KB5012643 untuk Windows 11 memecahkan apl .NET Framework 3.5 May 09, 2023 pm 01:07 PM

Sudah seminggu sejak kita bercakap tentang pepijat mod selamat baharu yang menjejaskan pengguna yang memasang KB5012643 untuk Windows 11. Isu menjengkelkan ini tidak muncul dalam senarai isu yang diketahui yang disiarkan oleh Microsoft pada hari pelancaran, lantas mengejutkan semua orang. Nah, apabila anda fikir keadaan tidak akan menjadi lebih buruk, Microsoft menjatuhkan bom lain untuk pengguna yang telah memasang kemas kini kumulatif ini. Windows 11 Build 22000.652 menyebabkan lebih banyak masalah Jadi syarikat teknologi memberi amaran kepada pengguna Windows 11 bahawa mereka mungkin mengalami masalah melancarkan dan menggunakan beberapa aplikasi .NET Framework 3.5. Bunyi biasa? Tapi tolong jangan terkejut

Pertanyaan data dalam rangka kerja Yii: capai data dengan cekap Pertanyaan data dalam rangka kerja Yii: capai data dengan cekap Jun 21, 2023 am 11:22 AM

Rangka kerja Yii ialah rangka kerja aplikasi Web PHP sumber terbuka yang menyediakan pelbagai alatan dan komponen untuk memudahkan proses pembangunan aplikasi Web, yang mana pertanyaan data merupakan salah satu komponen penting. Dalam rangka kerja Yii, kita boleh menggunakan sintaks seperti SQL untuk mengakses pangkalan data untuk membuat pertanyaan dan memanipulasi data dengan cekap. Pembina pertanyaan rangka kerja Yii terutamanya termasuk jenis berikut: pertanyaan ActiveRecord, pertanyaan QueryBuilder, pertanyaan arahan dan pertanyaan SQL asal

See all articles