您身边的网站建设专家
成功案例

【建站服务】酒泉网站优化【酒泉开通400电话】酒泉网站搭建、酒泉微信公众号推文外包、酒泉开通京东拼多多设计、酒泉淘宝装修-域名申请

日期: 2022-09-20 15:51:38 浏览数:3


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


酒泉网站优化【酒泉开通400电话】酒泉网站搭建、酒泉微信公众号推文外包、酒泉开通京东拼多多设计、酒泉淘宝装修

网站建设.jpg

酒泉,古称肃州,是甘肃省辖地级市,甘肃省人民政府批复确定的丝绸之路经济带甘肃段重要节点城市、省域副中心城市。截至2020年11月,辖1个区、2个县级市、4个县,总面积19.2万平方千米,2019年常住人口113.22万,城镇常住人口70.69万,有汉、蒙、哈萨克、回等40多个民族。 [1-3] 

酒泉地处中国西北地区、甘肃省西北部、河西走廊西端, 东接张掖市和内蒙古自治区,南接青海省,西接新疆维吾尔自治区,北接蒙古国,自古就是通往新疆和西域的交通要塞,是现代航天的摇篮,新中国石油工业和核工业的发祥地,全国重要的新能源基地。

酒泉为汉代河西四郡之一,丝绸之路的重镇,因“城下有泉”、“其水若酒”而得名。酒泉是敦煌艺术的故乡,创造了辉煌的历史文化。同时,由于大自然的运动和人类的活动,创造了奇异瑰丽的自然美景和雄伟壮丽的人文景观。先后荣获影响世界的中国文化旅游名城、中国最具国际影响力旅游目的地等荣誉称号。酒泉市境内有敦煌莫高窟、安西锁阳城、酒泉公园、敦煌雅丹国家地质公园等旅游景点。

简单来说,以下两种判断,永远都为FALSE。

var_dump(isset(DI()->XXX));
var_dump(!empty(DI()->XXX));

正确判断的写法是:先获取,再判断。例如:

$cache = DI()->cache;
var_dump(isset($cache));
var_dump(!empty($cache));

在进行某个资源服务是否存在于DI时,需要注意这一点。

3.2 PEAR包命名规范下的自动加载

首先,PhalApi的自动加载机制很简单;其次,PhalApi不强制只使用一种加载机制。有些框架,单单在类文件的自动加载这一块就弄得非常复杂,以致开发人员需要在使用这些框架的同时添加一些自己的类文件时,往往困难重重,甚至明明用引入了却又不见生效。 而在PhalApi,我们秉承的原则是:简单、统一、规范。

3.2.1 PEAR包命名规范

PEAR包的类文件路径和类名映射非常简单,如下图:

图3-2 来自Autoloading Standard的截图

图3-2 来自Autoloading Standard的截图

出于简单性,PhalApi暂时不使用命名空间,所以namespace这一块可省去。可以看出,这里的映射规则是:把类名中的下划线换成目录分割符,并在最后加上“.php”文件后缀,便可得到类对应的文件路径位置。

例如,Api_User、Domain_User、Model_User这三个类,分别对应以下路径的文件。

.
|-- Api
|   `-- User.php
|-- Domain
|   `-- User.php
|-- Model
|   `-- User.php

再举一个稍微复杂的示例,如类Api_Game_User_Equitment对应的文件路径为:./Api/Game/User/Equitment.php。需要注意的是,应该严格区分大小写,因为在Linux、Mac等操作系统,文件路径是区分大小写的。

下面是一些错误的示例。

表3-2 错误的类命名

类名

类文件

错误原因

Api_user

./Api/User.php

类名user小写,导致无法加载

Api_User

./Api/user.php

文件名user小写,导致无法加载

Api_User

./Api_User.php

类文件位置错误,导致无法加载

3.2.2 挂靠式自动加载

在准备好类和文件后,怎样才能让这些类被框架自动加载呢?这里提供的方式是:挂靠式自动加载。熟悉Linux系统的同学可能很容易明白,还没接触到Linux的同学也是可以很快理解的。这里稍微说明一下。所谓的 挂靠就是将项目内的子目录添加到自动加载器。例如我们在入口文件所看到的,添加商城新项目的项目目录,可以:

DI()->loader->addDirs('Shop');

当有多个目录时,可以传递一个目录数组。

DI()->loader->addDirs(array('Demo', 'Shop'));

需要注意的是,上面相对路径的都需要放置在应用项目的目录API_ROOT下面,暂时不能添加项目以外的目录。

通过PhalApi_Loader::addDirs($dirs)方式挂靠的路径,都是强制在目录API_ROOT下面。所传递的目录路径都应该是相对路径。在Linux系统上,下面的三种方式是等效的。

// 路径:API_ROOT/DemoDI()->loader->addDirs('Demo');// 路径:API_ROOT/./DemoDI()->loader->addDirs('./Demo');// 路径:API_ROOT/DemoDI()->loader->addDirs('/Demo');

如果需要挂靠的目录不在项目目录下,在Linux可以通过软链来解决。

对于单个文件的引入,可以通过PhalApi_Loader::loadFile($filePath)来引入,这里的文件路径可以是相对路径,也可以是绝对路径。注意以下两种写法的区别:

// 路径:API_ROOT/Demo/Tool.phpDI()->loader->loadFile('Demo/Tool.php');// 路径:/path/to/Demo/Tool.phpDI()->loader->loadFile('/path/to/Demo/Tool.php');

在添加代码目录后,便可实现该目录下类文件的自动加载。例如通过DI()->loader->addDirs('Shop');添加了Shop项目的源代码目录后,此Shop目录下符合PEAR命名规范的类,都能实现自动加载。

$ tree ./Shop/
./Shop/
├── Api
│   ├── Default.php
│   ├── Goods.php
│   └── Welcome.php
├── Common
│   ├── Crypt
│   │   └── Base64.php
│   ├── DB
│   │   └── MSServer.php
│   ├── Logger
│   │   └── DB.php
│   ├── Request
│   │   └── WeiXinFilter.php
│   └── Response
│       └── XML.php
├── Domain
│   └── Goods.php
├── Model
│   └── Goods.php

上面是Shop项目下的部分类文件,当使用类Api_Welcome时,会自动加载./Shop/Api/Welcome.php文件;当使用类Common_Response_XML时,会自动加载./Shop/Common/Response/XML.php文件;当使用类Domain_Goods时,则会自动加载./Shop/Domain/Goods.php文件,以此类推。

对于面向过程中的函数,而非类,则可以使用PhalApi_Loader::loadFile($filePath)来手动引入。

3.2.3 初始化文件和入口文件的区别

使用一个类,其过程可归结为三个步骤。

当发现找不到某个类时,应该从这三个步骤分别排查原因。如果尚未实现该类,那么肯定是找不到的,这时可以补充实现。如果已经实现该类但还找不到,则应该检查类名或者类文件路径是否遵循PEAR命名规范。

例如,有一行这样的代码,却提示类Domain_Goods不存在。

$domain = new Domain_Goods();

导致这种情况的可能以下这几种。

最后如果类名、类文件这些都正确,但仍然还是提示找不到类时,则应该核对第三步,是否在恰当的地方使用该类?恰当的地方是指在添加代码目录之后的调用位置。即在挂靠代码目录前不能使用此目录下的类,而应在挂靠之后使用。用代码示例来表示,则很好理解。例如:

// 错误:未挂靠Shop目录就使用DI()->response = new Common_Response_XML();

DI()->loader->addDirs('Shop');

正确的用法是在挂靠Shop目录后才使用Shop目录里面的类,即:

// 正确:先挂靠Shop目录再使用DI()->loader->addDirs('Shop');

DI()->response = new Common_Response_XML();


酒泉网站优化酒泉开通400电话酒泉网站搭建、酒泉微信公众号推文外包、酒泉开通京东拼多多设计、酒泉淘宝装修


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站