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

搜索
博主信息
博文 38
粉絲 0
評論 0
訪問量 30877
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
類的靜態(tài)成員;接口、抽象類、trait ;后期靜態(tài)綁定;命名空間
一個好人
原創(chuàng)
629人瀏覽過
  1. 類的靜態(tài)成員、類引用
    static 標識靜態(tài)成員
    self 類引用,self::,$this用于對象引用
    const 類常量
    __callStatic,調(diào)用不存在或無權(quán)訪問的靜態(tài)方法時會被調(diào)用
    ::范圍解析符,self::用于類常量靜態(tài)成員的訪問
  1. class Teacher{
  2. // 類常量
  3. public const CATES = ['前端','后端','全棧'];
  4. // 靜態(tài)屬性和類常量,屬于類本身,不需要實例化就可以訪問
  5. public static string $uname;
  6. private static int $salary;
  7. public static string $siteName= '中文網(wǎng)';
  8. static int $count = 0;
  9. public function __construct($uname,$salary){
  10. self::$salary=$salary;
  11. self::$uname=$uname;
  12. self::$count++;
  13. }
  14. static function getName(){
  15. return self::$uname.'是老師。';
  16. }
  17. }
  18. $user = new Teacher('mj', 2000);
  19. echo Teacher::$uname;//帶$
  20. print_r(Teacher::CATES);//不帶$
  21. echo Teacher::getName();
  22. echo Teacher::$count;
  1. 接口、抽象類、trait
    接口是定義,主管的角色,類是實現(xiàn),接口是抽象的類
  1. interface Demo
  2. {
  3. //所有成員必須公開
  4. public const CITY = 'JinHua';
  5. // 所有方法都是抽象方法,只聲明不實現(xiàn)
  6. public function sum($arr);
  7. public function sub($a, $b);
  8. public function mul($arr);
  9. public function div($a,$b);
  10. }
  11. interface test {
  12. public const T =100;
  13. }
  14. abstract class Demo1 implements Demo, test
  15. {
  16. //未實現(xiàn)全部方法則用抽象類,抽象類中可包含抽象方法和實例方法,不能被實例化
  17. //抽象類可以對應(yīng)多個接口,用“,”隔開
  18. //同名方法優(yōu)先級 類同名方法>trait>繼承成員方法
  19. public function sum($arr)
  20. {
  21. return array_sum($arr);
  22. }
  23. public function sub($a, $b)
  24. {
  25. }
  26. public function mul($arr){}
  27. public function div($a,$b){}
  28. }
  29. class Work extends Demo1
  30. {
  31. use t1, t2;
  32. public function sum($arr)
  33. {
  34. return array_sum($arr)+100;
  35. }
  36. public function sub($a, $b)
  37. {
  38. return $a - $b;
  39. }
  40. }
  41. $obj = new Work;
  42. echo $obj->sum([2, 34, 5]);
  43. $obj->dd('hello');

trait 功能組合實現(xiàn)多繼承,給予類的語法,對類功能擴展,不能實例化

  1. trait t1{
  2. public function dd($data){
  3. var_dump($data);
  4. die;
  5. }
  6. }
  1. 后期靜態(tài)綁定 static::
  1. class Car
  2. {
  3. private static function getName()
  4. {
  5. return 'car';
  6. }
  7. public static function run()
  8. {
  9. //self取決于定義類,不能動態(tài)綁定;如需動態(tài)綁定改用static,static被綁定調(diào)用的類,用于靜態(tài)繼承
  10. // return self::getName();
  11. return static::getName();
  12. }
  13. }
  14. class Benz extends Car{
  15. public static function getName()
  16. {
  17. return 'E300';
  18. }
  19. }
  20. echo Car::run();
  21. echo Benz::run();
  22. // $my = new Benz;
  23. // echo $my::run();

用final標識類在子類中不能被修改,self與static效果同
4.命名空間及USE的使用
全局成員有常量 命名函數(shù) 類(接口),會有命名沖突的問題

  1. namespace name1;
  2. class test{
  3. public static function show(){
  4. return __METHOD__;
  5. }
  6. }
  7. namespace name2;
  8. class test{
  9. public static function show(){
  10. return __METHOD__;
  11. }
  12. }
  13. echo test::show();
  14. //訪問其他命名空間需加空間名,‘\’返回到根空間
  15. echo \name1\test::show();
  16. echo call_user_func(['name2\test', 'show']);
  17. //命名空間的函數(shù)>系統(tǒng)函數(shù)的同名函數(shù)

在框架入口文件中,可用as給use的文件夾起別名,不起別名默認最后一段
const DS= DIRECTORYSEPARATOR;
require _DIR
.DS.’autoload.php’;

  1. use app\controller as ac;
  2. use app\controller;
  3. echo ac\Index::index();
  4. echo controller\Login::index();

在自動加載時,要注意文件目錄的設(shè)置,

  1. spl_autoload_register(function($className){
  2. // echo $className.'<hr>';
  3. $file = __DIR__.DS.'class'.DS.$className.'.php';
  4. $file = str_replace("\\",DIRECTORY_SEPARATOR,$className).'.php';
  5. if(is_file($file)&&file_exists($file)) require $file;
  6. // echo $file.'<hr>';
  7. // echo __DIR__;
  8. });

總結(jié):

這段老師講的比較亂,還是去自學(xué)消化吧!

批改老師:PHPzPHPz

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

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

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

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