网站搜索

如何在 Ubuntu 24.04 上安装 CakePHP 框架


在本文中,我们将介绍在 Ubuntu 24.04 上安装和使用 CakePHP 框架的过程。如果你对这个词不熟悉,CakePHP 是一个广泛使用的开源应用框架,用 PHP 编写,用于开发网页应用程序。它类似于 Laravel。它的设计模式遵循 MVC(模型-视图-控制器),确保代码组织良好且易于维护。顺便提一下,MVC 模式有三个明确分离的逻辑——应用逻辑(模型)、展示(视图)和用户交互控制(控制器)。

任何人都可以下载、定制并使用 CakePHP,因为它是免费的开源框架。通过采用 CakePHP,你的网页开发过程会更加高效,因为它提供了数百个预建功能和库,无需从零开始构建。例如,用户认证和数据库交互等功能默认即可使用。CakePHP 也具有内置安全性设计,可以防止常见的网络攻击,如 SQL 注入和跨站脚本攻击(XSS)。

终极 Ubuntu 桌面手册

像专业人士一样掌握 Ubuntu——从美观的桌面自定义到强大的终端自动化。非常适合希望完全掌控工作环境的开发人员、系统管理员和高级用户。

以下是在 Ubuntu 24.04 上安装和使用 CakePHP PHP 框架的步骤。

第1步 – 安装 PHP

CakePHP 是用 PHP 编写的,用于在 PHP 编程语言中创建 Web 应用程序。通过运行以下命令来安装 PHP 和其他所有组件。

sudo apt update
apt install php php-cli php-intl php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath

检查 PHP 版本

$ php --version
PHP 8.3.6 (cli) (built: Apr 15 2024 19:21:47) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies

可以使用以下命令检查已加载的 PHP 模块。

php -m

步骤 2 – 安装 PHP Composer

Composer 是一个用于管理 PHP 应用程序依赖的命令行工具。可以将它看作是 Python 中 pip 和 Node.js 中 npm 的直接替代品。Composer 的主要作用是简化对外部库的管理,并确保它们符合应用程序运行所需的版本。

在您的 Ubuntu 24.04 系统上运行以下命令以安装 Composer。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

步骤 3 – 在 Ubuntu 24.04 上安装 CakePHP

我们现在可以使用 Composer 在我们的 Ubuntu 24.04 上安装 CakePHP。

检查系统上的 Composer 命令行工具是否正常工作。

$ composer --version
Composer version 2.7.7 2024-06-10 22:11:12
PHP version 8.3.6 (/usr/bin/php8.3)

为您的 CakePHP 测试项目创建一个新目录 – 以非 root用户运行。

mkdir cakephp_projects

导航到已创建的目录。

cd cakephp_projects

使用 Composer 初始化新项目来安装 CakePHP。在这里,我们称它为 mycake-app。

composer create-project cakephp/app mycake-app

命令执行的示例输出。

.....
  - Installing mobiledetect/mobiledetectlib (3.74.3): Extracting archive
  - Installing sebastian/version (4.0.1): Extracting archive
  - Installing sebastian/type (4.0.0): Extracting archive
  - Installing sebastian/recursion-context (5.0.0): Extracting archive
  - Installing sebastian/object-reflector (3.0.0): Extracting archive
  - Installing sebastian/object-enumerator (5.0.0): Extracting archive
  - Installing sebastian/global-state (6.0.2): Extracting archive
  - Installing sebastian/exporter (5.1.2): Extracting archive
  - Installing sebastian/environment (6.1.0): Extracting archive
  - Installing sebastian/diff (5.1.1): Extracting archive
  - Installing sebastian/comparator (5.0.1): Extracting archive
  - Installing sebastian/code-unit (2.0.0): Extracting archive
  - Installing sebastian/cli-parser (2.0.1): Extracting archive
  - Installing phpunit/php-timer (6.0.0): Extracting archive
  - Installing phpunit/php-text-template (3.0.1): Extracting archive
  - Installing phpunit/php-invoker (4.0.0): Extracting archive
  - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
  - Installing theseer/tokenizer (1.2.3): Extracting archive
  - Installing sebastian/lines-of-code (2.0.2): Extracting archive
  - Installing sebastian/complexity (3.2.0): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
  - Installing phpunit/php-code-coverage (10.1.14): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.12.0): Extracting archive
  - Installing phpunit/phpunit (10.5.20): Extracting archive
17 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
58 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
PHP CodeSniffer Config installed_paths set to ../../cakephp/cakephp-codesniffer,../../slevomat/coding-standard
No security vulnerability advisories found.
> App\Console\Installer::postInstall
Created `config/app_local.php` file
....

要访问 CakePHP 网络界面,请运行以下命令。

$ cd  mycake-app
$ ./bin/cake server -H 0.0.0.0 -p 8099
Welcome to CakePHP v5.0.8 Console
-------------------------------------------------------------------------------
App : src
Path: /home/dev/cakephp_projects/mycake-app/src/
DocumentRoot: /home/dev/cakephp_projects/mycake-app/webroot
Ini Path:
-------------------------------------------------------------------------------
built-in server is running in http://0.0.0.0:8099/
You can exit with `CTRL-C`
[Fri Jun 14 07:45:48 2024] PHP 8.3.6 Development Server (http://0.0.0.0:8099) started

在 http://ServerIP:8099 访问 CakePHP 网页控制台

按 CTRL+C 退出终端控制台。

步骤 4 – 创建示例应用

创建新的控制器代码。

tee  src/Controller/HelloController.php<<EOF
<?php

namespace App\Controller;

class HelloController extends AppController
{
    public function index()
    {
    }
}
EOF

创建模板

mkdir templates/Hello
tee templates/Hello/index.php<<EOF
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Hello World from CakePHP</title>
</head>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Hello to everyone using CakePHP Framework!
</div>
</body>
</html>
EOF

测试你的代码。

./bin/cake server -H 0.0.0.0 -p 8099

通过 http://ServerIP:8099/Hello 访问您的测试应用

在这篇文章中,我们已经成功安装并测试了 CakePHP。接下来的步骤是阅读 CakePHP 项目文档页面,以更好地理解它的功能以及你可以利用的可用功能。