📜  查看 codeigniter 4 (1)

📅  最后修改于: 2023-12-03 15:40:25.882000             🧑  作者: Mango

查看 CodeIgniter 4

介绍

CodeIgniter 4是一个基于PHP的开源Web应用程序开发框架,它是CodeIgniter 3的升级版本。它集成了新的特性和功能,比如更快的性能、多模块支持、命名空间支持、Composer支持等等。

安装

由于CodeIgniter 4是基于Composer的,所以首先需要安装Composer。安装完成后,可以通过以下命令安装CodeIgniter 4:

composer create-project codeigniter4/appstarter projectName

其中projectName是新建项目的名称。这个命令会在当前目录下创建一个新的项目,将CodeIgniter 4框架及其依赖包安装到该项目中。

目录结构

CodeIgniter 4的目录结构与CodeIgniter 3相似,但有一些新的目录和文件:

app/                应用程序目录
    Controllers/    控制器目录
    Models/         模型目录
    Views/          视图目录
    ...
system/             框架系统目录
    Core/           框架核心文件目录
    Helpers/        帮助函数目录
    ...
public/             网站公共目录
    index.php       网站入口文件
    ...
tests/              测试目录
    ...
vendor/             Composer依赖包目录
    ...
.env                配置文件
.env.example        配置文件示例
.gitignore          Git忽略文件
composer.json       Composer配置文件
composer.lock       Composer锁文件
README.md           项目README文件

路由

CodeIgniter 4的路由与CodeIgniter 3类似,但已升级和增强了一些功能。比如可以通过路由组(Group)对路由进行分组、可以设置不同的HTTP请求方法等等。

可以通过以下方式定义路由:

// GET方法路由
$routes->get('news', 'News::index');

// POST方法路由
$routes->post('news', 'News::create');

// PUT方法路由
$routes->put('news/(:num)', 'News::update/$1');

// DELETE方法路由
$routes->delete('news/(:num)', 'News::delete/$1');
控制器

CodeIgniter 4的控制器与CodeIgniter 3类似,但已更新了一些内容。比如现在需要显式继承CodeIgniter\Controller类,而不是继承CI_Controller类。

以下是News控制器的示例:

<?php namespace App\Controllers;

use CodeIgniter\Controller;

class News extends Controller
{
    public function index()
    {
        echo 'Hello World!';
    }
}
模型

CodeIgniter 4的模型与CodeIgniter 3类似,但已升级和增强了一些功能。比如支持使用命名空间和Composer,支持查询构建器等等。

以下是News模型的示例:

<?php namespace App\Models;

use CodeIgniter\Model;

class News extends Model
{
    protected $table = 'news';

    protected $allowedFields = ['title', 'body', 'created_at'];

    protected $useTimestamps = true;

    public function getAllNews()
    {
        return $this->findAll();
    }

    public function getNews($id)
    {
        return $this->find($id);
    }
}
视图

CodeIgniter 4的视图与CodeIgniter 3类似,但已升级和增强了一些功能。比如支持使用命名空间和Composer,支持Layouts和Partials等等。

以下是news/index视图的示例:

<!DOCTYPE html>
<html>
<head>
    <title>News List</title>
</head>
<body>
    <h1>News List</h1>
    <?php foreach ($news as $item): ?>
        <h2><?php echo $item['title']; ?></h2>
        <p><?php echo $item['body']; ?></p>
        <p>Created at: <?php echo $item['created_at']; ?></p>
    <?php endforeach; ?>
</body>
</html>
总结

CodeIgniter 4是一个优秀的PHP Web应用程序开发框架,它集成了非常多的功能,包括路由、控制器、模型、视图等等。它非常适合开发中小型的Web应用程序。如果你需要开发一个中小型的Web项目,可以考虑使用CodeIgniter 4。