📅  最后修改于: 2023-12-03 15:40:25.882000             🧑  作者: Mango
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。