Rumah >pembangunan bahagian belakang >masalah PHP >Analisis ringkas tentang kod sumber pelaksanaan dan tutorial penggunaan PHP Niuniu
Dengan perkembangan teknologi Internet yang berterusan, PHP secara beransur-ansur menjadi salah satu bahasa pengaturcaraan yang paling popular dalam pembangunan web. Niuniu PHP ialah rangka kerja pembangunan ringan berdasarkan PHP Kemunculannya telah membawa kemudahan dan peningkatan kecekapan yang hebat kepada pembangun web. Artikel ini akan memperkenalkan anda kepada kod sumber pelaksanaan dan tutorial penggunaan PHP Niuniu.
1. Kod sumber pelaksanaan PHP Niuniu
Struktur direktori PHP Niuniu pada asasnya serupa dengan projek PHP biasa, termasuk aplikasi, sistem, folder awam dan lain-lain. Folder aplikasi ialah direktori yang ingin dikendalikan oleh pembangun, dan fail teras seperti Pengawal, Model dan Paparan diletakkan di dalamnya. Folder sistem ialah kod teras Niuniu PHP, dan folder awam menyimpan fail statik, seperti js, css, imej, dll.
(1) index.php
index.php ialah fail kemasukan bagi keseluruhan projek, tugas utamanya adalah untuk memperkenalkan kod teras Niu Niu PHP dan menghuraikan permintaan. Kod khusus adalah seperti berikut:
<?php define('BASEPATH', dirname(__FILE__) . '/'); define('SYSTEMPATH', BASEPATH . 'system/'); define('APPPATH', BASEPATH . 'application/'); require_once(SYSTEMPATH . 'core/Niu.php'); $app = new Niu(); $app->run();
(2) Niu.php
Niu.php ialah kelas teras bagi keseluruhan rangka kerja PHP NiuNiu Kelas ini melaksanakan penguraian permintaan, penghalaan dan pengawal Memuatkan dan fungsi lain. Kod kelas teras adalah seperti berikut:
<?php class Niu { public function run() { $route = $this->loadRoute(); $controllerName = $route['controller']; $methodName = $route['method']; $params = $route['params']; $controllerFilePath = APPPATH . 'controllers/' . $controllerName . '.php'; if (!file_exists($controllerFilePath)) { die('Controller not found: ' . $controllerFilePath); } require_once($controllerFilePath); $controller = new $controllerName(); if (!method_exists($controller, $methodName)) { die('Method not found: ' . $methodName); } call_user_func_array(array($controller, $methodName), $params); } private function loadRoute() { $uri = $_SERVER['REQUEST_URI']; $index = strpos($uri, '?'); if ($index !== false) { $uri = substr($uri, 0, $index); } $uri = trim($uri, '/'); if (empty($uri)) { $uri = 'index'; } $segments = explode('/', $uri); $controller = ucfirst(strtolower($segments[0])); $method = isset($segments[1]) ? $segments[1] : 'index'; $params = array_slice($segments, 2); return array( 'controller' => $controller, 'method' => $method, 'params' => $params ); } }
(3) Controller.php
Controller.php ialah kelas asas pengawal dalam rangka kerja MVC, dan semua pengawal mewarisi daripada ini kelas. Beberapa kaedah pengawal biasa dilaksanakan dalam kelas ini, seperti memaparkan pandangan, menghantar pembolehubah, dsb. Kod khusus adalah seperti berikut:
<?php class Controller { protected $data = array(); protected function assign($key, $value) { $this->data[$key] = $value; } protected function render($view, $data = null) { if ($data !== null) { $this->data = array_merge($this->data, $data); } extract($this->data); require_once(APPPATH . 'views/' . $view . '.php'); } }
Selain templat paparan asli PHPnya sendiri, Niuniu PHP juga menyokong beberapa enjin templat biasa. Seperti Smarty, Blade, dsb. Untuk menggunakan enjin templat, hanya panggil kaedah kompilasi yang sepadan dalam pengawal.
Untuk enjin templat Smarty, kodnya adalah seperti berikut:
require_once(APPPATH . 'libs/smarty/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir(APPPATH . 'views/'); $smarty->setCompileDir(APPPATH . 'cache/'); $smarty->assign('title', '牛牛PHP'); $smarty->assign('content', 'Hello World!'); $smarty->display('index.tpl');
Untuk enjin templat Blade, kodnya adalah seperti berikut:
require_once(APPPATH . 'libs/blade/Blade.php'); $viewPath = APPPATH . 'views/'; $cachePath = APPPATH . 'cache/'; $blade = new \eftec\bladeone\BladeOne($viewPath, $cachePath); $data = array( 'title' => '牛牛PHP', 'content' => 'Hello World!' ); echo $blade->run('index', $data);
2 Tutorial
Untuk lebih memahami prinsip pelaksanaan PHP Niuniu, penulis di bawah akan memberikan anda beberapa tutorial tentang menggunakan PHP Niuniu untuk pembangunan.
Buat fail bernama Hello.php dalam direktori aplikasi/pengawal dan tambah kod berikut:
<?php class Hello extends Controller { public function index() { echo "Hello World!"; } }
Buat fail bernama hello.php dalam direktori aplikasi/pandangan dan tambah kod berikut:
<!DOCTYPE html> <html> <head> <title><?php echo $title; ?></title> </head> <body> <h1><?php echo $content; ?></h1> </body> </html>
Buka fail application/config/routes.php dan tambahkan kod berikut:
$route['default_controller'] = 'hello'; $route['404_override'] = '';
Dalam akar projek Jalankan php -S localhost:8000 arahan dalam direktori untuk memulakan pelayan, dan akses http://localhost:8000/ dalam pelayar untuk melihat output "Hello World!"
3. Ringkasan
Niuniu PHP ialah rangka kerja PHP yang ringan, kod sumber pelaksanaannya sangat ringkas dan jelas, memfokuskan pada kecekapan pembangunan dan kemudahan penggunaan. Melalui pemahaman dan pembelajaran yang mendalam tentang kod sumber dan penggunaan Niuniu PHP, kami boleh meningkatkan kecekapan dan kualiti pembangunan web dengan lebih baik, yang merupakan kemahiran yang patut dikuasai.
Atas ialah kandungan terperinci Analisis ringkas tentang kod sumber pelaksanaan dan tutorial penggunaan PHP Niuniu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!