Rumah >pembangunan bahagian belakang >masalah PHP >Analisis ringkas tentang kod sumber pelaksanaan dan tutorial penggunaan PHP Niuniu

Analisis ringkas tentang kod sumber pelaksanaan dan tutorial penggunaan PHP Niuniu

PHPz
PHPzasal
2023-04-12 09:20:492084semak imbas

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

  1. Struktur direktori

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. Kod fail teras

(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(&#39;BASEPATH&#39;, dirname(__FILE__) . &#39;/&#39;);
define(&#39;SYSTEMPATH&#39;, BASEPATH . &#39;system/&#39;);
define(&#39;APPPATH&#39;, BASEPATH . &#39;application/&#39;);

require_once(SYSTEMPATH . &#39;core/Niu.php&#39;);
$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');
    }
}
  1. Penggunaan enjin templat

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.

  1. Penciptaan pengawal

Buat fail bernama Hello.php dalam direktori aplikasi/pengawal dan tambah kod berikut:

<?php
class Hello extends Controller
{
    public function index()
    {
        echo "Hello World!";
    }
}
  1. Lihat penciptaan

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>
  1. Konfigurasi penghalaan

Buka fail application/config/routes.php dan tambahkan kod berikut:

$route['default_controller'] = 'hello';
$route['404_override'] = '';
  1. Jalankan ujian

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!

Kenyataan:
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