草庐IT

PHP 命名空间类命名约定

我目前关注PSR-2和PSR-4。在尝试命名几个类时,我遇到了一个小难题。这是一个例子。我有一个基本的REST客户端,\Vendor\RestClient\AbstractClient。我有这个抽象客户端的两个实现:\Vendor\GoogleClient\GoogleClient\Vendor\GithubClient\GithubClient既然命名空间已经指定了域,那么客户端类的命名是否多余?我应该改为命名我的类(class):\Vendor\GoogleClient\Client\Vendor\GithubClient\Client这意味着客户端代码将始终使用如下内容:useV

php - 使用基本授权作为中间件 PSR-7 PSR-15

TD;LR:我试图掌握中间件实现背后的理念。它似乎可以正常工作,但我该如何正确处理响应,以便它向浏览器显示基本授权登录提示?--我正在使用:equip/dispatch用于PSR-15中间件调度器guzzlehttp/psr7用于PSR-7ServerRequestInterfacemiddlewares/http-authentication示例基本授权中间件middlewares/response-time额外的虚拟中间件(检查是否也在管道中执行)运行下面的代码:$middleware=[new\Middlewares\ResponseTime(),(new\Middlewares

php - Symfony2 bundle 与 PSR-0 兼容的第 3 方库之间有什么区别?

我知道一个包应该包含thebestpracticesdocumentation中概述的目录结构和其他约定。.我仍然不明白为什么我应该在Symfony2安装中选择将库作为bundle安装还是“按原样”安装PSR-0兼容库。例如,我想安装GuzzleHttpClient库。目前我有两个版本可供选择:libraryitself或Guzzle'bundle'.我可以看到包使用了库,但由于我是Symfony2的新手,所以我还不能掌握“大局”。有人可以帮帮我吗? 最佳答案 使用包而不是库将允许您从ServiceContainer访问库。这将使您

php - HTML 模板中的 PSR-2 兼容内联 PHP 标签

PSR-2没有提到任何适用于在HTML模板中使用内联php标签的内容,但是php-cs-fixertool似乎有一个标准。这是我的模板文件,在运行php-cs-fixer之前:LinkLinkLink在运行php-cs-fixerfixviews/ui/nav.php--level=psr2之后:LinkLinkLink这看起来不对,所以我一定是遗漏了什么。是否有编写符合PSR-2的内联PHP的正确方法?使用PHP的Alternativesyntaxforcontrolstructures会有什么问题吗??同样,PSR-2中没有提及,php-cs-fixer似乎没有任何问题,但出于某种

php - PSR2 代码风格和 PHP Code Sniffer 不一致?

我已经从Editor>CodeStyle>PHP将我的编辑器代码样式设置为PredefinedStyle>PSR1/PSR2。我还安装并配置了PHPCodeSniffer和PHPMessDetector。每当我使用CTRL+ALT+L格式化代码时,我都会遇到以下问题:这是为什么呢?原始代码看起来像(我认为不是很有帮助,但无论如何它是):publicfunctionmyTestFunction(){$is_valid=true;if($this->manual_value&&!$this->_InputValidator->isValidString($this->manual_valu

php - 如何使用 PSR-4 自动加载 Composer 制作扩展类

我的目录结构是这样的:这是我的composer.json:{"autoload":{"psr-4":{"travelo_conf\\":"config/","travelo_url\\":"url/"}}}现在我正在尝试用酒店类扩展我的Api类这是我的ApiConfig类:namespacetravelo_conf\config;classApiConfig{}这是我的酒店等级:我得到了这样的错误:Fatalerror:Class'travelo_conf\config\ApiConfig'notfoundin/var/www/html/4travelo_Beta/url/getHot

php - 在 Symfony2 项目上使用外部非 PSR-0 库的正确方法

我正在开发一个应用程序,它将通过他们的RESTPHPSDK连接到IntuitQuickbooksAPI。在基本的PHP中,我可以正常工作,因为我按如下方式加载文件:require_once('../api/config.php');//DefaultV3PHPSDK(v2.0.1)fromIPPrequire_once(PATH_SDK_ROOT.'Core/ServiceContext.php');require_once(PATH_SDK_ROOT.'DataService/DataService.php');require_once(PATH_SDK_ROOT.'Platform

php - PSR-1 标准中的命名空间条目?

我正在寻找在遵循PSR-1标准的PHP类中编写命名空间的正确方法(如果其中任何一个是正确的,请告诉我)。我环顾四周,但没有看到任何具体的东西。是正确的使用方法吗NamespaceFoo\Bar;或者使用花括号是否正确,例如NamespaceFoo\Bar{//....}如果两者都是正确的,是否有特别的理由来使用其中一个?我意识到这部分可能是基于意见的。 最佳答案 表格NamespaceandClassNamesPSR-1standrad:NamespacesandclassesMUSTfollowan"autoloading"PSR

php - PSR 4 自动加载找不到类

我不确定为什么我的PSR-4auotloader不工作。我的composer.json文件很简单{"require":{"abraham/twitteroauth":"*"},"autoload":{"psr-4":{"Filters\\":"src"}}}我的PHP文件,位于src/FiltersnamespaceFilters;classBlogFilter{publicfunction__construct(){return'hellofromtheconstructor';}}在我位于根目录的主文件中,我有以下内容require'vendor/autoload.php';use

php - 在没有任何框架的情况下理解 PSR-4 Composer

我尝试理解和学习它是如何工作的PSR-4,因为我喜欢用这个标准重构一个小应用程序。根据几本手册,并在堆栈溢出上发帖,我的结构和文件都没有问题。/vendor/abkrim/rclub/src/ResellerApi.phpResellerApi.php内容:url='https://test.XXXXXX.com/api/domains/';$this->proxy='94.xxx.xxx.xxx:1111';$this->$auth_userid='837465';$this->$api_key='VU5EksjwGa28mA93tgviQd7eWgiSQLOz';}publicfu