Dengan pembangunan berterusan Internet, pembangunan Web juga berkembang dari hari ke hari, dan pelbagai rangka kerja muncul tanpa henti. Antaranya, Yaf (Yet Another Framework) ialah rangka kerja PHP yang pantas, mudah, fleksibel, cekap dan berorientasikan objek Ia telah menarik perhatian dan populariti kerana dokumentasi Cina yang ringan, berprestasi tinggi, berskala dan mesra. Artikel ini akan memberi tumpuan kepada cara menggunakan mod kemasukan tunggal dalam rangka kerja Yaf.
1. Apakah mod masuk tunggal?
Mod kemasukan tunggal, iaitu, hanya satu fail kemasukan boleh mengakses aplikasi web Semua permintaan diedarkan dan diproses melalui fail kemasukan ini dan diproses dan diedarkan mengikut peraturan URL tertentu, menjadikan program berjalan dengan lebih selamat dan. dengan cekap. Berbanding dengan mod berbilang kemasukan, mod kemasukan tunggal mempunyai kelebihan berikut:
(1) Lebih selamat: kerana semua permintaan diedarkan dan diproses melalui satu fail kemasukan, ia boleh mencegah serangan web dengan berkesan dan menambah baik. keselamatan aplikasi Web;
(2) Lebih cekap: mengurangkan bilangan fail, mengurangkan tekanan dan overhed pada pelayan, dan meningkatkan prestasi aplikasi Web
(3) Mudah untuk mengekalkan: Semua permintaan diproses melalui fail kemasukan, yang meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.
2. Mod kemasukan tunggal dalam rangka kerja Yaf
Dalam rangka kerja Yaf, pemprosesan pengedaran permintaan aplikasi web boleh dilaksanakan melalui mod kemasukan tunggal Langkah-langkah pelaksanaan khusus adalah seperti berikut:
1. Cipta fail masukan index.php
Dalam direktori akar aplikasi web, buat fail masukan index.php. Fail ini akan berfungsi sebagai titik masuk untuk semua permintaan dan daftarkan fungsi pemuatan automatiknya sendiri. Kod fail kemasukan adalah seperti berikut:
<?php // 定义应用程序路径 define('APPLICATION_PATH', dirname(__FILE__)); // 加载Yaf框架 require_once APPLICATION_PATH . '/vendor/autoload.php'; // 创建Yaf应用程序实例 $app = new YafApplication(APPLICATION_PATH . '/conf/application.ini'); // 运行应用程序 $app->run();
2 Cipta fail aplikasi Yaf
Dalam direktori akar aplikasi web, buat direktori aplikasi untuk menyimpan semua fail aplikasi. Dalam direktori ini, buat fail bootstrap.php Fail ini digunakan untuk memulakan aplikasi dan mendaftarkan pelbagai peraturan pemalam dan penghalaan Kodnya adalah seperti berikut:
<?php // 定义应用程序名称 define('APP_NAME', 'Demo'); // 创建应用程序实例 $application = new YafApplication(APPLICATION_PATH . "/conf/application.ini"); // 定义路由规则 $route = YafDispatcher::getInstance()->getRouter(); $route->addRoute('demo', new YafRouteSimple('m', 'c', 'a')); // 注册插件 $application->bootstrap()->getDispatcher()->registerPlugin(new MyPlugin()); // 运行应用程序 $application->run();
3 >
Dalam fail bootstrap.php di atas, peraturan penghalaan ditentukan. Dalam rangka kerja Yaf, terdapat banyak jenis peraturan penghalaan Dalam contoh ini, jenis penghalaan mudah Simple digunakan. Dalam jenis penghalaan mudah, tiga parameter perlu ditentukan, masing-masing mewakili nama modul, nama pengawal dan nama tindakan Permintaan boleh diproses mengikut nilai parameter yang berbeza. Contohnya:http://localhost/demo/index/hello
<?php class IndexController extends YafController_Abstract { public function helloAction() { echo 'Hello, Yaf!'; } }
<h1><?php echo $content; ?></h1>
Melalui langkah di atas, kami telah melaksanakan mod kemasukan tunggal dalam rangka kerja Yaf Kod aplikasi lengkap adalah seperti berikut: index.php
<?php define('APPLICATION_PATH', dirname(__FILE__)); require_once APPLICATION_PATH . '/vendor/autoload.php'; $app = new YafApplication(APPLICATION_PATH . '/conf/application.ini'); $app->run();
<?php define('APP_NAME', 'Demo'); $application = new YafApplication(APPLICATION_PATH . "/conf/application.ini"); $route = YafDispatcher::getInstance()->getRouter(); $route->addRoute('demo', new YafRouteSimple('m', 'c', 'a')); $application->bootstrap()->getDispatcher()->registerPlugin(new MyPlugin()); $application->run();
<?php class IndexController extends YafController_Abstract { public function helloAction() { $this->getView()->content = 'Hello, Yaf!'; } }
<h1><?php echo $content; ?></h1>
Atas ialah kandungan terperinci Bagaimana untuk menggunakan mod kemasukan tunggal dalam rangka kerja Yaf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!