亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 145
粉絲 7
評(píng)論 7
訪問(wèn)量 198452
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
Facade技術(shù)和composer入門(mén)基礎(chǔ)知識(shí)
李東亞1??3????12?
原創(chuàng)
1568人瀏覽過(guò)

一、服務(wù)容器與Facade技術(shù)

1.服務(wù)容器與Facade都是簡(jiǎn)化客戶端(也就最終使用者)的操作
2.服務(wù)容器:是在調(diào)用前,提前把類實(shí)列保存到一個(gè)關(guān)聯(lián)數(shù)組中,使用直接調(diào)用即可;通常通過(guò)一個(gè)類來(lái)實(shí)現(xiàn),把需要使用的通過(guò)類函數(shù)綁定到類屬性數(shù)組中,調(diào)用時(shí),通過(guò)類函數(shù)直接調(diào)用即可
3.Facade技術(shù)主要用來(lái)簡(jiǎn)化類的調(diào)用;通過(guò)把一般類的方法和函數(shù)靜態(tài)化,簡(jiǎn)化調(diào)用步驟(省去類實(shí)列化步驟);
4.Facade(門(mén)面技術(shù))用到的初始化方法:initialize(){}

  • initialize:類的任何方法和屬性被調(diào)用是都會(huì)觸發(fā)該函數(shù);
  • construct:類在實(shí)列化時(shí)才會(huì)被觸發(fā);

5.Facade(門(mén)面技術(shù)):主要是通過(guò)門(mén)面類把所有的類中的方法套殼靜態(tài)化方便后面使用者調(diào)用;

6.控制類需要調(diào)用的類->把類實(shí)例化后綁定到服務(wù)容器中->門(mén)面技術(shù)(通過(guò)子類繼承父類的屬性,把服務(wù)容器類綁定門(mén)面類屬性中中,然后子類把所需要的方法靜態(tài)化)->控制類(就可以通過(guò)靜態(tài)方法調(diào)用相關(guān)類方法)
5.代碼案例

  1. <?php
  2. //容器
  3. // use Closure;
  4. //服務(wù)容器
  5. class Container{
  6. protected $container=[];
  7. public function bind($name,Closure $class){
  8. $this->container[$name]=$class;
  9. }
  10. public function make($name,$params=[]){
  11. return call_user_func_array($this->container[$name],$params);
  12. }
  13. }
  14. //門(mén)面技術(shù)
  15. class Facade
  16. {
  17. static protected $container=null;
  18. static public function initialize(Container $container){
  19. static::$container=$container;
  20. }
  21. }
  22. class UserModel extends Facade
  23. {
  24. static public function select($n,$m){
  25. return static::$container->make("Model")->select($n,$m);
  26. }
  27. }
  28. class UserView extends Facade
  29. {
  30. static public function index($data){
  31. return static::$container->make("View")->index($data);
  32. }
  33. }
  34. //控制器
  35. class Controls{
  36. public function __construct(Container $container){
  37. Facade::initialize($container);
  38. }
  39. public function show($n,$m){
  40. $data=UserModel::select($n,$m);
  41. return UserView::index($data);
  42. }
  43. }
  44. include "Model.php";
  45. include "View.php";
  46. $container=new Container();
  47. $container->bind("Model",function(){return new Model();});
  48. $container->bind("View",function(){return new View();});
  49. // (new Controls())->show($container);
  50. (new Controls($container))->show(0,15);

運(yùn)行結(jié)果:


二、composer基礎(chǔ)知識(shí)

1.composer:php語(yǔ)言的包依賴管理工具
2.composer的安裝請(qǐng)參考:https://pkg.phpcomposer.com/#how-to-install-composer
3.composer切換鏡像:

  • composer中文網(wǎng):composer config repo.packagist composer https://packagist.phpcomposer.com
  • composer阿里云:composer config repo.packagist composer https://mirrors.aliyun.com/composer/

4.packagist(包依賴網(wǎng)站):https://packagist.org/
5.composer常用命令:

  • composer init :交互成創(chuàng)建composer.json
  • composer selfupdate :更新composer至最新版本
  • composer install :根據(jù)composer.json(文件可以為{})的安裝依賴
  • composer require :直接安裝包,別寫(xiě)入json文件
  • composer create-porject :創(chuàng)建項(xiàng)目
  • composer update :忽略.lock文件鎖定,更新包依賴到最新版本
  • composer dump :更新json文件的autoload配至項(xiàng)

6.composer常見(jiàn)組成文件

  • composer.json :composer組件基本配置信息和包依賴以及autoload
  • composer.lock :鎖定包依賴的版本號(hào)
  • vendor :包的源代碼和包依賴的文件

7.自動(dòng)加載配置:autoload;在json配置文件中”autoload”字段中的配置方式

  • “files”:[];把需要自動(dòng)加載的文件寫(xiě)入數(shù)組中即可
  • “classmap”:[]把需要記載文件的目錄寫(xiě)入數(shù)組中即可
  • “psr-4”:[]把需要自動(dòng)加載的類的目錄映射命名控件,以鍵值的方式寫(xiě)入數(shù)組中
批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語(yǔ):
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)