MVC ????? ???? ?? PHP?? ??? ??????
MVC(Model-View-Controller)? ??????? ? ?? ?? ??? ?? ??? ???? ????? ???? ?? ???? ???? ?????.
- ??: ??????? ??? ? ???? ??? ?????.
- View: ????? ???? ???? UI(??? ?????)? ?????.
- ????: ??? ? ??? ??? ??? ?? ??? ??? ???? ??? ?????? ?? ??????.
MVC ??? ?? ??? ????? ???? ??????? ?? ??, ?? ? ???? ? ?? ??? ????. ?? ?? ???? ??????? ??? ??? ????? ??? ? ?? ???? ?? ??? ?????.
PHP??? ???, ??, ?????? ???? ???? ???? ??????? ???? MVC ????? ??? ? ????. PHP ???????? MVC? ???? ??? ???????.
1. MVC ?? ?? ??
??
??? ???? ??? ??? ??? ?????. ?? ??????? ?? ???? ??????? ???? ???? ?????. ???? ?? ???? ???? ???? ?? ??? ???? ????.
-
??:
- ???????? ???? ?????.
- ???? ??????? ?????.
- ???? ?? ? ??? ?????.
??
?? ????? ???? ???? ??? ???. ??????? UI? ???? HTML, CSS, JavaScript? ???? ??? ????. ?? ??????? ???? ???? ????? ??????.
-
??:
- ??????? ?? ???? ?????.
- UI ??? ?????.
- ??? ??? ????? ??? ?? ??? ???? ?? ????.
????
????? ??? ? ??? ??? ??? ???. ??? ??? ?? ?? ??? ???? ??? ????? ?? ??? ??? ???? ?? ???????.
-
??:
- ??? ??(?: ?? ??, ?? ??)? ?????.
- ??? ??? ?? ??? ???????.
- ????? ??? ??? ?????.
- ?????? ??? ?????.
2. PHP?? MVC ??
PHP?? ?? MVC ????? ??? ?????. ???? ? ?? ??? ??????.
- app/Model/: ?? ???? ?????.
- app/View/: ?? ??(?: HTML ???)? ???? ????.
- app/Controller/: ???? ???? ?????.
?? ??????? ????? ??? ????? ???(????? index.php)? ?????.
1??: ?? ??
?? ???? ???????? ???? ???? ?? ??? ?? ??? ?????. ??? "???" ??? ??? ??? ?????.
?/??/User.php:
<?php namespace App\Model; class User { private $db; public function __construct($db) { $this->db = $db; } // Fetch all users public function getAllUsers() { $query = "SELECT * FROM users"; $result = $this->db->query($query); return $result->fetchAll(PDO::FETCH_ASSOC); } // Add a new user public function addUser($name, $email) { $query = "INSERT INTO users (name, email) VALUES (:name, :email)"; $stmt = $this->db->prepare($query); $stmt->bindParam(':name', $name); $stmt->bindParam(':email', $email); return $stmt->execute(); } }
? ??? ???????? ?? ???? ???? ? ???? ???? ??? ???? ??? ??? ????.
2??: ? ??
??? ???? ?? ???? ????? HTML? ???? ????. ?? ???? ???? ??? ???? ??? ??? ?????.
?/??/UserListView.php:
<?php namespace App\View; class UserListView { public function render($users) { echo "<h1>User List</h1>"; echo "<ul>"; foreach ($users as $user) { echo "<li>{$user['name']} - {$user['email']}</li>"; } echo "</ul>"; } }
? ??? UserListView ???? ??? ??? ??????. ??????? ???? ???? ???? HTML ???? ?????.
3??: ???? ??
????? ?????? ??? ?? ??? ?(?: ???? ??? ????) ??? ?? ??????.
?/????/UserController.php:
<?php namespace App\Controller; use App\Model\User; use App\View\UserListView; class UserController { private $userModel; private $userView; public function __construct(User $userModel, UserListView $userView) { $this->userModel = $userModel; $this->userView = $userView; } // Fetch users and pass data to the view public function listUsers() { $users = $this->userModel->getAllUsers(); $this->userView->render($users); } }
UserController ???? User ???? ??? ??? ???? ?? ???? ???? UserListView? ???? ??? ???.
4??: ??? ? ?? ?? ??
??? ??? ?? ??? ??? ???? ??? ???? ???? ???? ?????.
public/index.php(???):
<?php require_once '../vendor/autoload.php'; use App\Controller\UserController; use App\Model\User; use App\View\UserListView; // Database connection (assuming PDO) $db = new PDO('mysql:host=localhost;dbname=your_database', 'root', ''); // Create instances of the Model, View, and Controller $userModel = new User($db); $userView = new UserListView(); $userController = new UserController($userModel, $userView); // Simple Routing (for example purposes) if ($_SERVER['REQUEST_URI'] === '/users') { $userController->listUsers(); }
? index.php ????? ??? ?????.
- PDO ?????? ??? ?????.
- User ??, UserListView ? UserController? ????? ?????.
- URL? ???? ??? ???? ???(listUsers)? ??? ??????.
5??: ?? ??
Composer? ???? ???? ???? ????? ?????. ??? ?? ???.json ??? ??????? ?? ??? ??? ? ????.
{ "autoload": { "psr-4": { "App\": "app/" } } }
composer dump-autoload? ???? ????? ?????.
3. MVC? PHP ??? ??? ??? ????
PHP?? MVC? ???? ??? ?? ?? ?? ??? ????.
??? ??
MVC? ??? ??? ?????. ?, ???(??), UI(?), ??(????)? ?? ?? ?? ??? ???? ??? ?????. ??? ?? ??????? ?? ????? ?? ??? ? ?????.
?????
???? ??? UI? ???? ???? ?? ??? ??? ?? ?? ??????? ? ??? ???? ?? ? ????. ?? ?? ???? ??(??)? ???? ??? UI(?)? ????? ? ????.
??? ???
MVC? ???? ?? ??? ??? ? ?????. ? ? ????? ??? ??? ???? ? ???? ???? ?? ? ??????.
????
MVC ??????? ?? ??? ???? ?????. ?? ??, ??? ??? ??? ??(?: ????? ??? ??? ??)?? ??? ? ???? ??? ? ??? ???? ???? ?? ? ????.
4. ??
MVC? PHP ??????? ???? ? ?? ???? ???? ?????. ??? ???? ? ??? ??? ??? ? ?? ?? ???? ???? ? ????. PHP?? MVC ??? ???? ???? ???? ??? ?? ??? ??? ??????? ??? ? ????. ??? ?? ?? ? ??? ?? Composer? ?? ??? ???? ?? ????? ?? ???? ? ????.
MVC ??? ??? PHP ??????? ? ????? ????? ?? ???? ??? ??? ? ????.
? ??? MVC ???? ?? ? PHP?? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

? ?? PHP ??? ???? ?? ? ?? ????? ? ?? ?? ??? ????. 1. ??? ??? ?? ?? ??? ?? Array_Merge ? Array_unique ??? ??????. ?? Array_Merge ($ array1, $ array2)? ?? ? ?? Array_Unique ()? ???? ?? ?? ? ?? ???? ? ??? ?????. 2. ?? ?? ? ? ?? ???? ? ? ?? ????? ???? ??????. $ result = $ array1 $ array2? ? ?? ??? ?? ? ?? ??? ?? ?? ?? ??????. ? ? ?? ??? ? ??? ????? ??? ?? ?

????? ??? ????? ????? ??? ??? ???????. ?? ?? ??? ??? ????. 1. ??? 8 ?? ?????. 2. ??? ???, ??? ? ??? ?????. 3. ?? ?? ??? ?? ? ? ????. ?? ??? ????, ??? ???? ?? ? ??/?? ???? ?????, ?? PHP ?? ??? ?????. ???, ?????? ???? ?? ? 123456? ?? ???? ?? ??? ????????. ????? ?? ???? ????? ?? ZXCVBN ?????? ???? ?? ????.

PHP ?? ???? ???? ????? ?? ? ??? ???? ?? ?? ? ??? ???? ?? ??? ?????? ??? ??? ? ? ???????. 1. ??? ?? CSRF? ???? ?? ??? ??? ???? ?????? ??? ???? FINFO_FILE? ?? ?? MIME ??? ?????. 2. ??? ??? ??? ???? ??? ?? ??? ?? ? WEB ????? ??? ???? ??????. 3. PHP ?? ??? ?? ? ?? ???? NGINX/APACHE? ??? ????? ?? ???? ?????. 4. GD ?????? ??? ? ?? ???? ??? ?? ??? ?? ????.

PHP ?? ??? ?? ???? ?? ? ????? ??? ?????. 1. ?? ??? ??? ??? ??? ? ? ??? ??? ??? ?? ?? ??? ???? ???????. 2. ?? ??? ???? ???? ? ?? ????? ?? ?? ?? ??? ?????. 3. $ _get ? $ _post? ?? Hyperglobal ??? ?? ???? ?? ??? ? ??? ??? ??????? ???????. 4. ?? ?? ?? ???? ?? ?? ?? ??? ?????? ?? ??? ??? ?? ??? ???????. ??? ??? ????? ??? ??? ?? ???? ????? ? ??? ? ? ????.

PHP ?? ???? ? ?? ???? ??? ????. 1. // ?? #? ???? ? ?? ??? ???? // ???? ?? ????. 2. ?? /.../ ?? ?? ?? ??? ????? ?? ? ?? ??? ?? ? ? ????. 3. ?? ?? ?? / if () {} /? ?? ?? ??? ????? ??? ?? ?? ?? ??? ???? ????? ???? ??? ?? ???? ???? ??? ? ??? ??????.

PHP ??? ???? ??? ??? ??? ????? ????. ??? ????? ?? ???? ??? "?? ? ?"??? "?"? ???????. 1. ??? ? ??? ??? DocBlock (/*/)? ?? ?? ??? ???? ??? ? ?? ???? ??????. 2. JS ??? ???? ?? ???? ??? ?? ??? ??? ?????. 3. ??? ?? ?? ?? ??? ???? ????? ????? ???? ?? ????? ???? ? ??????. 4. Todo ? Fixme? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

Ageneratorinphpisamemory- ???? Way-Erate-Overgedatasetsetsbaluesoneatimeatimeatimeatimallatonce.1.generatorsuseTheyieldKeywordTocroadtOpvaluesondemand, RetingMemoryUsage.2

PHP?? ??? ???? ? ?? ??? ???? : ?? () ??? ????? ???? ?????? []. 1. ?? () ??? ???? ?? ???? ???? ???? ?????. $ fruits = array ( "Apple", "Banana", "Orange")? ?? ??? ???? ???? $ user = array ( "name"=> "john", "age"=> 25)? ?? ?? ??; 2. [] ??? $ color? ?? PHP5.4 ??? ? ??? ?? ?????.
