กรอบงาน PHP เขียนด้วยภาษา c และสร้างขึ้นเป็นส่วนขยาย PHP
Yaf เป็นส่วนขยาย PECL ดังนั้นคุณจึงสามารถติดตั้งได้โดย:
$pecl install yaf
$/path/to/phpize
$./configure --with-php-config=/path/to/php-config
$make && make install
คู่มือ Yaf สามารถพบได้ที่: http://www.php.net/manual/en/book.yaf.php
efnet.org #php.yaf
คุณสามารถค้นหาสคริปต์ต้นแบบที่เป็นเอกสารได้ที่นี่: https://github.com/elad-yosifon/php-yaf-doc
รูปแบบไดเร็กทอรีแอปพลิเคชันแบบคลาสสิก:
- .htaccess // Rewrite rules
+ public
| - index.php // Application entry
| + css
| + js
| + img
+ conf
| - application.ini // Configure
- application/
- Bootstrap.php // Bootstrap
+ controllers
- Index.php // Default controller
+ views
|+ index
- index.phtml // View template for default controller
+ library // libraries
+ models // Models
+ plugins // Plugins
คุณควรตั้งค่า DocumentRoot
เป็น application/public
ดังนั้นผู้ใช้จึงสามารถเข้าถึงโฟลเดอร์สาธารณะได้เท่านั้น
index.php
ในไดเร็กทอรีสาธารณะเป็นวิธีเดียวในแอปพลิเคชัน คุณควรเขียนคำขอทั้งหมดใหม่ (คุณสามารถใช้ .htaccess
ใน Apache+php mod)
define ( " APPLICATION_PATH " , dirname ( dirname ( __FILE__ )));
$ app = new Yaf_Application ( APPLICATION_PATH . " /conf/application.ini " );
$ app -> bootstrap () //call bootstrap methods defined in Bootstrap.php
-> run ();
#.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
server {
listen ****;
server_name domain.com;
root document_root;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^/(.*) /index.php/$1 last;
}
}
$HTTP["host"] =~ "(www.)?domain.com$" {
url.rewrite = (
"^/(.+)/?$" => "/index.php/$1",
)
}
application.ini
เป็นไฟล์กำหนดค่าแอปพลิเคชัน
[product]
; CONSTANTS is supported
application.directory = APPLICATION_PATH " /application/ "
หรือคุณสามารถใช้อาร์เรย์ PHP แทนได้:
$ config = array (
" application " => array (
" directory " => application_path . " /application/ " ,
),
);
$ app = new yaf_application ( $ config );
. . . .
ใน Yaf ตัวควบคุมเริ่มต้นมีชื่อว่า IndexController
:
class IndexController extends Yaf_Controller_Abstract {
// default action name
public function indexAction () {
$ this -> getView ()-> content = " Hello World " ;
}
}
?>
สคริปต์มุมมองสำหรับตัวควบคุมเริ่มต้นและการดำเนินการเริ่มต้นอยู่ใน application/views/index/index.phtml Yaf มีกลไกการดูแบบง่ายที่เรียกว่า "Yaf_View_Simple" ซึ่งรองรับเทมเพลตมุมมองที่เขียนด้วย PHP
Hello World
echo $ content ; ?>
http://www.example.com
คุณสามารถสร้างตัวอย่างด้านบนได้โดยใช้ Yaf Code Generator: https://github.com/laruence/php-yaf/tree/master/tools/cg
./yaf_cg -d output_directory [-a application_name] [--namespace]
สามารถดูข้อมูลเพิ่มเติมได้ที่ Yaf Manual: http://www.php.net/manual/en/book.yaf.php