当前位置: 首页 > news >正文

网站空间租赁500mb/什么是网站

网站空间租赁500mb,什么是网站,重庆网站建设哪家好,推广文案类型使用场景大部分情况都需要多个文件才可以业务,这就会出现类名冲突的情况发生,命名空间可以解决这类问题人。在操作系统中目录用来将文件管理,它就扮演了命名空间的角色。例如文件foo.txt 可以同时在目录/home/greg 和 /home/other 中存在&…

使用场景

大部分情况都需要多个文件才可以业务,这就会出现类名冲突的情况发生,命名空间可以解决这类问题人。

在操作系统中目录用来将文件管理,它就扮演了命名空间的角色。例如文件foo.txt 可以同时在目录/home/greg/home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到/home/greg/foo.txt。这 个原理应用到程序设计领域就是命名空间的概念。

基本使用

默认情况下常量、类和函数名都放在全局空间下。命名空间通过namespace 来声明。

namespace 必须定义在文件头部,并在declare(strict_types=1) 语句下面。

helper.php

function sum()
{return 'helper sum';
}

test.php

namespace Houdunren;include 'helper.php';
function sum()
{return 'houdunren sum';
}
# 使用当前命名空间中的sum
echo sum();
# 使用 helper.php 中的sum
echo sum();
  • 不指定命名空间时将使用当前命名空间
  • 如果命名空间中的函数或常量未定义,将会使用全局命名空间

子命名空间

PHP 命名空间也允许指定层次化的命名空间的名称,如 AppController 形式,一般情况下我们将层次与目录结构匹配。

namespace AppController;class Bootstrap
{public function make(){return __METHOD__;}
}

引入方式

非限定名称

调用类时没有指定命名空间时,将使用当前命名空间。

下面在使用User 时没有指定命名空间将使用当前命名空间。

namespace App;class User
{public function make(){return __METHOD__;}
}$user = new User;
echo $user->make();

限定名称

限定名称类似于文件系统中的相对路径 。

Order.php

namespace AppController;class Order
{public static function make(){return __METHOD__;}
}

Test.php

namespace App;include 'Order.php';
class User
{public static function make(){return __METHOD__;}
}
echo ControllerOrder::make();

使用限定名称调用 Order 类,系统会使用当前命名空间加上 Controller 做为Order 类的命名空间。

完全限定名称

类似于文件系统中的绝对路径,以下面的代码为例,调用Order类时可以使用以下的完全限定方式。

echo AppControllerOrder::make();

常量

常量NAMESPACE的值是包含当前命名空间名称的字符串。

<?php
namespace App;function factory($class)
{return __NAMESPACE__ . '' . $class;
}
class User
{public static function make(){return __METHOD__;}
}
class Order
{public static function make(){return __METHOD__;}
}
echo factory('Order')::make();

使用 namespace 关键字

<?php
namespace App;
class Order
{public static function make(){return __METHOD__;}
}
echo namespaceOrder::make();

别名引入

通过操作符 use 来为类或命名空间使用别名。

基本使用

本实例使用的示例目录结构如下:

App
--Controller-- Comment.php-- User.php
boot.php

boot.php

namespace Houdunren;use AppControllerUser;
include 'App/Controller/User.php';
echo User::make();

如果使用 use AppController,在引入 User 类时方法如下

ControllerUser::make()

别名

在引入多个同名类时会有冲突情况发生,可以通过起别名的方式处理。

namespace Houdunren;use AppControllerUser as Member;include 'App/Controller/User.php';echo Member::make();

多个引入

可以使用多行 use 或用逗号分隔多个类(空间)形式处理多个导入的情况。

namespace Houdunren;use AppControllerUser as Member;
use AppControllerComment;include 'App/Controller/User.php';
include 'App/Controller/Comment.php';echo Member::make();

使用逗号分隔

<?php
...
use AppControllerUser as Member, AppControllerComment;
...

自动加载

注册加载

以往的__autoload 自动加载函数已经在 php7.2 废弃使用,所以使用 spl_autoload_register 函数完成自动加载处理。

spl_autoload_register(function (string $class) {$file = str_replace('', '/', $class) . '.php';if (!is_file($file)) {throw new Exception("file don't exists");}require $file;
});

使用类方法实现

class Bootstrap
{public function autoload($class){$file = str_replace('', '/', $class) . '.php';if (!is_file($file)) {throw new Exception("file don't exists");}require $file;}
}
spl_autoload_register([new Bootstrap, 'autoload']);

composer

使用composer 是后盾人 建议使用的方式,composer相关视频已经在 houdunren.com上更新,下面简略介绍使用方法。

项目初始

$ composer init

直行上面命令并一直回车下去

修改配置文件

个性 composer.json 配置文件,其中 autoload配置项是自动加载设置。

  • files 是自动加载文件列表,适合于加载函数
  • psr-4 自动加载命名空间与目录对应关系
{"name": "hd/php","authors": [{"name": "houdunren.com","email": "2300071698@qq.com"}],"autoload": {"files": ["App/helper.php"],"psr-4": {"App": "App"}},"require": {}
}

安装与更新

修改配置文件后执行 composer install 生成vendor,如果修改过配置文件需要执行 composer update

配置

在项目中使用以下代码即可完成自动加载。

include 'vendor/autoload.php';

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要

PHP进阶架构师>>>视频、面试文档免费获取​docs.qq.com
d37fc076975c58c83affe93923fdbd89.png

或者关注咱们下面的专栏

PHP架构师之路​zhuanlan.zhihu.com
f121b9d6bd95d1a40b6769acad2b804e.png
来源:https://www.cnblogs.com/pengcode/p/12585397.html
http://www.lbrq.cn/news/1610839.html

相关文章:

  • 郑州网站建设郑州/灰色关键词排名代发
  • 北京市基础建设质量监督局网站/营销活动策划方案
  • vue如何网站开发/十大免费推广平台
  • 昆山公司网站制作/天津百度推广代理商
  • 国外做设计的网站有哪些/万网注册域名
  • 临沂网站建设团队/成都短视频代运营
  • 网站建设平台软件哪个好用/app优化排名
  • 龙华附近网站建设/广州新闻播报
  • 河北住房建设厅网站/长尾关键词查询工具
  • 网站建设.龙兵/北京网站排名seo
  • 常州网站制作/深圳优化公司高粱seo较
  • 赣州网站开发/seo优化是什么
  • 做网站的图哪来/新闻软文广告
  • 南京做网站建设搭建的公司/做网站公司
  • 中文域名和网站的关系/2022适合小学生的简短新闻
  • 深圳设计之都/百度关键词优化软件网站
  • 网站的排版问题/网站优化 福州
  • 广州建设网站是什么关系/seo关键词推广渠道
  • 做tb任务赚钱的网站/搜索引擎营销的方法包括
  • wordpress网址导航开源/秦皇岛seo招聘
  • 深圳手机商城网站设计多少钱/厦门网站的关键词自动排名
  • 淮安做网站服务单位/网站排名查询
  • 湛江做寄生虫网站/近期时事新闻10条
  • win7系统做网站服务器系统/网站定制开发
  • 网站设计与建设公司/北京seo专业团队
  • wordpress评论框required/河北seo技术培训
  • 在凡科网申请的网站设置网页访问密码/网络营销的四大要素
  • 教你做面膜v官方网站/青岛seo
  • 做网站公司上海/企业网站官网
  • 杭州app开发公司集中/海淀区seo引擎优化多少钱
  • 介绍JAVA语言、介绍greenfoot 工具
  • Python 小数据池(Small Object Pool)详解
  • 数据结构代码
  • 知识点汇集(二)-misc
  • 利用AI渲染技术提升元宇宙用户体验的技术难点有哪些?
  • Javaweb————Apache Tomcat服务器介绍及Windows,Linux,MAC三种系统搭建Apache Tomcat