Cet article vous donnera une introduction détaillée sur la façon d'écrire du code PHP moins "mauvais" ! ! Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Ceci est écrit pour les enfants qui sont des veaux nouveau-nés et qui n'ont pas peur des tigres. Vous pouvez le lire à volonté. Ce chapitre est basé sur PHP Laravel
Les gens demandent souvent
J'écris également sur les "mauvais" projets. Ce qui suit est basé sur le résumé d'articles et l'expérience de développement personnel de grands experts d'Internet. 🎜>
<?php namespace App\Http\Controller; class UserController extends Controller{ public function register(Request $request){ $user = new User(); $user->username = $request->input('username'); $user->password = $request->input('password'); $result = $user->save(); return $result; } }
<. 🎜>
ServiceComme l'image ci-dessus
UserController<?php namespace App\Http\Controller; class UserController extends Controller{ public $request; protected $userService; public function __construct(Request $request, UserService $userService) { $this->request = $request; $this->userService = $userService; } public function register() { //... validation return $this->userService->register ($this->request->all()); } }
<?php namespace App\Service; class UserService{ public function register($data) { $username = $data['username']; $password = $data['password']; $password = encrypt ($password); $user = new User(); $user->username = $username; $user->password = $password; $result = $user->save(); return $result; } }
<?php namespace App\Http\Controller; class UserController extends Controller{ public $request; protected $userService; public function __construct(Request $request, UserService $userService) { $this->request = $request; $this->userService = $userService; } public function getUserInfo() { //... validation return $this->userService->getUserInfo ($this->request->all()); } }
<?php namespace App\Service; class UserService{ public $userRepository; public function __construct(UserRepository $userRepository){ $this->userRepository = $userRepository; } public function getUserInfo() { return $this->userRepository->getUserInfo($data); } }
<?php namespace App\Repository; class UserRepository{ public function getUserInfo($data) { $userId = $data['user_id']; $result = User::where('id',$userId)->first(); return $result; } }
Indépendant de chaque fichier d'opération, tel que CreateUser ,DeleteUser ,UpdateUserConforme au principe unique de SOLID
<?php namespace App\Http\Controller; class UserController extends Controller{ public $request; protected $userService; public function __construct(Request $request, UserService $userService) {$this->request = $request;$this->userService = $userService; } public function register(){ //... validation return $this->userService->register($this->request->all()); } public function getUserInfo() {return $this->userService->getUserInfo ($this->request->all()); } }
<?php namespace App\Service; class UserService{ public function getUserInfo(UserRepository $userRepository) { return $this->userRepository->getUserInfo($data); } public function register(){ $result = (new CreateUser())->execute($this->request->all()); return $result; } }
<?php namespace App\Repository; class UserRepository{ public function getUserInfo($data) { $userId = $data['user_id']; $result = User::where('id',$userId)->first();return $result; } }
<?php namespace App\Action; use App\Model\Member; class CreateUser extends CreateUserWallet { public function execute(array $data) {$models = new Member();$models->tel = $data['tel'];$models->password = $data['password'];$result = $models->save ();return $result; } }
En plus des modèles (V) et autres HTML, JS, etc., d'autres règles, ou méthodes, sont nécessaires pour réaliser le découplage de certains codes Non. des exemples de code sont fournis ci-dessous.
CommonVous pouvez choisir de l'utiliser lorsque vous ne vous souciez pas des résultats d'exécution, mais Event's Listen fournit également une file d'attente.
N'utilisez pas Return pour renvoyer tous vos messages d'erreur. Dans de nombreux cas, votre retour peut ne pas être votre retour
Apprentissage recommandé : ". Tutoriel vidéo PHP》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!