網站搜尋

如何在 Ubuntu 24.04 上安裝 CakePHP 框架


在本文中,我們將介紹在 Ubuntu 24.04 上安裝和使用 CakePHP 框架的過程。如果這個詞對你來說是新的,CakePHP 是一個廣泛使用的開源應用框架,由 PHP 編寫,用於開發網頁應用程式。它與 Laravel 類似。它的設計模式遵循 MVC(模型-視圖-控制器),確保程式碼結構良好且易於維護。讓你了解一下,MVC 模式有三個明確分離的邏輯——應用邏輯(Model)、呈現(View)以及用戶互動控制(Controller)。

任何人都可以下載、客製化並使用 CakePHP,因為它是免費且開源的。採用 CakePHP 可以簡化您的網頁開發流程,因為它提供了數百個預先建立的功能和函式庫,無需從零開始構建。像使用者認證和資料庫互動等功能,預設即可使用。CakePHP 也是以安全為設計原則,能防止常見的網路攻擊,如 SQL 注入和跨站腳本(XSS)。

終極 Ubuntu 桌面手冊

像專業人士一樣精通 Ubuntu——從美觀的桌面自訂到強大的終端自動化。非常適合希望完全掌控工作環境的開發者、系統管理員和高階用戶。

以下是在 Ubuntu 24.04 上安裝和使用 CakePHP PHP 框架的流程。

步驟 1 – 安裝 PHP

CakePHP 是用 PHP 編寫的,用於在 PHP 程式語言中創建網頁應用程式。透過執行以下命令來安裝 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 CLI 工具是否可用。

$ 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 專案的文件頁面,以便更好地了解它的功能,以及你可以利用的可用功能。