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

搜索
博主信息
博文 145
粉絲 7
評論 7
訪問量 198521
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
02月13日作業(yè):PSR-規(guī)范(自動加載器)和composer組件
李東亞1??3????12?
原創(chuàng)
840人瀏覽過

作業(yè)一

1、知識點:
strncmp:字符串比較(二進制安全模式)例如:strncmp($str1,$str2,$int);返回int型;
strlen:求字符串長度 例如:strlen($str);返回int;
substr:截取字符串,例如:substr($str, $start, $strlen); $start和$strlen位整數(shù)型,返回字符串;
str_replace:字符替換;例如:str_replace($former,$new,$str);返回字符串(把字符串中new替換掉former);
DIRECTORY_SEPARATOR:自適應湖獲取當前系統(tǒng)的文件目錄的連接符
自動加載函數(shù):__autoload();sql_autoload_register();

作業(yè)二

PSR編碼規(guī)范:
一、PSR-1:基本代碼風格

  • 1、PHP標簽: <?php ... ?>, <?= ... ?>
  • 2、編碼: UTF-8
  • 3、功能單一: 一個腳本應該只做一件事,例如不要將聲明和調用放在一個腳本中
  • 4、命名空間: 必須符合PSR-4標準(主要是為了方便自動加載)
  • 5、類名: ClassName大駝峰, 每一個單詞的首字母必須大寫
  • 6、類屬性和方法: propertyName,methodName,除第一個單詞之外,每個單詞的首字母大寫
  • 7、常量: 單詞字母必須全部大寫,多個單詞之間用下劃線進行連接, API, APP_PATH
    二、PSR-2:嚴格代碼風格
  • 1、首先代碼必須先符合PSR-1
  • 2、必須采用四個空格進行縮進,tab
  • 3、一行代碼建議不超過80個字符, 至少不要超過120個字符
  • 4、一個純的php腳本,最后必須加一個空行, 且不允許用結束標簽 ?>
  • 5、關鍵字必須全部小寫: TRUE / FALSE, true / false
  • 6、命名空間后必須要空一行, use前后必須要有空行
  • 7、類,類方法, 函數(shù),后面的大括號必須另起一行
  • 8、如果這個類是一個擴展類或實現(xiàn)類, extends / implements必須與類名在同一行
  • 9、方法/函數(shù)中的參數(shù)列表中, 每個參數(shù)后要有一個逗號和一個空格(最后一個除外)
  • 10、類中的所有屬性和方法:
    • a、必須全部聲明可見性: public, protected, private
    • b、abstract / final: 必須放在可見性聲明前面
    • c、static: 必須放在可見性聲明后面
  • 11、控制結構: if,while,for,foreach...,關鍵字后面必須要有空格,起始大括號不允許換行
    三、PSR-4:日志記錄接口:(有日志接口組件)
    四:PSR-4:自動加載器
  • 1、傳統(tǒng)文件加載使用include / require, 加載效率低, 不能實現(xiàn)按需要加載
  • 2、__autoload(), spl_autoload_register()注冊加載器, 各框架各異并不統(tǒng)一
  • 3、PSR-4: 實現(xiàn)代碼在運行時, 實時查找PHP類/接口/Trait文件, 并自動加載到當前的腳本中
  • 4、PSR-4: 要求需要自動加載的文件路徑必須與該文件中的代碼的命名空間一一對應

    作業(yè)三

    自動加載器代碼:

    User.php代碼:
    ```php
    <?php

namespace src\home;

class User
{
public static function get() : string
{
return CLASS;
}

  1. public static function abc() : string
  2. {
  3. return __FUNCTION__;
  4. }

}

// echo User::get();

  1. demo1代碼:
  2. ```php
  3. <?php
  4. namespace part1;
  5. spl_autoload_register(function($class)
  6. {
  7. $prefix='App\edu\\';
  8. $base_dir=__DIR__.'\src\\';
  9. $real_class=substr($class,strlen($prefix));
  10. // echo $real_class;
  11. $path=str_replace('\\',DIRECTORY_SEPARATOR,$real_class);
  12. // die($path);
  13. $file=$base_dir.$path.'.php';
  14. // die($file);
  15. var_dump($file);
  16. file_exists($file) ? require $file : die('文件不存在,加載失敗');
  17. });

demo.php代碼:

  1. <?php
  2. namespace part1;
  3. use App\edu\home\User;
  4. require 'demo1.php';
  5. User::get();

效果代碼:

問題:總是提示錯誤:

fatal error: uncaught error: class ‘a(chǎn)pp\edu\home\user’ not found in d:\phpstudy_pro\www\newyear.com\0210\0213\demo.php:9 stack trace: #0 {main} thrown in d:\phpstudy_pro\www\newyear.com\0210\0213\demo.php on line 9
不知道怎么回事??user.php和demo1.php都沒有問題,但是在demo.php中提示錯誤,無法解決!!求解

作業(yè)四

1、composer組件安裝,直接下載直接安裝即可,不過安裝時需要把php.exe配置電腦環(huán)境變量即可安裝
2、安裝組件:直接在工作文件夾目錄下,輸入安裝插件命令即可自動安裝;例如:composer require gregwar/captcha
3、組件導入使用,需要先加載加載器:require 'vendor\autoload.php';,然后就可以同use關鍵字使用組件的相關功能:例如:use Gregwar\Captcha\CaptchaBuilder;

批改老師:天蓬老師天蓬老師

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

老師批語:你看一視頻并在不這個腳本中測試
本博文版權歸博主所有,轉載請注明地址!如有侵權、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務協(xié)議
1條評論
李**1??3????12? 2020-02-16 14:23:31
@Peter-Zhu,好的,明白!
1樓
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

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

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