【PHP手册中关于命名空间的这段解释是啥意思?】教程文章相关的互联网学习教程文章

PHP:PSR-2:为什么命名空间/使用声明后的空白行?

所以我前几天正在审查PSR编码标准(我正式遵循),并且我总是理解所有事情的原因,并且大部分都是按照过去10年我所做的一切编码,因为非常相似的标准是在我的大学时代,我被强烈地逼迫 – 它只是卡住了. 但是,我对PSR-2标准中的这个注释感到疑惑:There MUST be one blank line after the namespace declaration, and there MUST be one blank line after the block of use declarations.为什么是这样?我不反对它,但我确定有某种背景或历...

类名称中的PHP命名空间和全局变量问题【代码】

我不知道为什么我的HelperClass()下的全局$error返回为空,我不知道为什么我可以验证$class->错误确实已经填满了之前的数据. 在这种情况下,我不知道有关于命名空间的某些问题吗?请给我一些指示. 以下是一些相关的代码. 在主文件下namespace Core; $class = new ControllerClass(); $error = $class->error; // verified that $error prints correctly here include ViewFile.php;在ViewFile.php下$helper = new HelperClass(); // ...

php – 使用抽象类或特征获取对象的命名空间?【代码】

我有一些代码,如下所示:namespace {trait ns{public function get_ns(){var_dump(__NAMESPACE__);}} }namespace a{class obj{use \ns;} }namespace b{class obj{use \ns;} }namespace {$a = new a\obj;$b = new b\obj;$a->get_ns();$b->get_ns(); }$a-> get_ns();和$b-> get_ns(); dump string(0)“”而不是string(1)“a”和string(1)“b”.如果我使用抽象类而不是特征,行为是相同的. 这显然是因为trait / abstract类是在正式命名...

PHP中的嵌套命名空间【代码】

所以我将我的编译器定位到PHP,我遇到了一些命名空间问题. 他们用我的语言看起来像这样:package Foo {package Bar{class X { }}class Y { } }当然,PHP不处理嵌套的命名空间.翻译此代码的最佳方法是什么,它仍可在PHP中运行? 我应该注意到所有文件最终都被编译成一个PHP文件.有一点需要注意的是,在我关闭软件包之后,我将不得不回到全局命名空间,而我还没有找到任何关于如何做到这一点的文档.在我看来,在PHP中,一旦声明了命名空间,它...

如何在PHP中使用命名空间实现类【代码】

我在PHP中实现特定的类时遇到了麻烦.我想在我的Zend Framework应用程序中使用Anthony Ferrara的RandomLib库(你可以找到它here.) 我已经用PHP编程了几年了,所以我大部分都知道我的方法.但我必须承认,在使用实现名称空间的类时,我有点无能为力.这是我在我的代码中得到的:public static function generateToken() {require_once 'RandomLib/Factory.php';$factory = new \RandomLib\Factory;$generator = $factory->getMediumStrengt...

使命名空间在PHP中向后兼容【代码】

所以我正在阅读有关PHP名称空间的内容,我意识到在早于5.3的版本中,如果你写的话namespace MyNamespace你得到一个解析错误. 有没有办法避免这种情况,即使名称空间向后兼容,所以代码不会简单地崩溃?解决方法:简答:没有. 更长的答案:(添加以从其他已删除的答案中捕获有用信息).新的语法将导致PHP中的解析错误,因此您不能使用客户错误处理程序来捕获版本中生成的错误< 5.3.从理论上讲,你可以编写预处理器扫描和/或对源进行lex / pars...

php – 在Laravel 4中创建命名空间【代码】

我正在努力在Laravel 4中建立一个工作名称空间,我已经在这里和代码亮本中阅读了一些指南.但我似乎还是无法弄明白.我的应用程序设置如下: 应用程序/控制器/ itemController应用程序/服务/ itemValidator 在我的作曲家json文件(我转储自动加载evertime它得到改变)我有:"autoload": {"classmap": [<usual data...>"app/repositories","app/services",],"psr-0": {"Services": "app/services/"}我的项目控制器设置为:<?php use Serv...

php – PSR-1标准中的命名空间条目?【代码】

我正在寻找正确的方法(如果其中一个是正确的请让我知道)在符合PSR-1标准的PHP类中编写命名空间.我环顾四周,但没有看到任何具体的东西.是正确的使用方法Namespace Foo\Bar;或者使用花括号是否正确?Namespace Foo\Bar {// .... }如果两者都是正确的,是否有特别的理由使用一个而不是另一个?我意识到这部分可能是基于意见的.解决方法:括号内的命名空间是recommended method,用于在单个文件中定义多个命名空间. 如果文件中只有一个名称...

使用PhpWord隐藏HTML:错误 – DOMDocument :: loadXML():p上的命名空间前缀o未在实体中定义【代码】

我试图隐藏用Php单词格式化的HTML. 我用summernote创建了一个html表单. Summernote允许用户格式化文本.此文本使用html标记保存到数据库中. 接下来使用phpWord,我想将捕获的信息输出到word文档中.请参阅以下代码:$rational = DB::table('rationals')->where('qualificationheader_id',$qualId)->value('rational');$wordTest = new \PhpOffice\PhpWord\PhpWord();$newSection = $wordTest->addSection();$newSection->getStyle()->...

PHP 5.3命名空间是否需要@package?

我已经切换到PHP 5.3和名称空间.看起来@package标签现在是冗余且无用的. 是否仍然需要phpDoc,或者我现在可以忽略此标记吗? 谢谢解决方法:这不是必需的. 最新文档现在指出,如果您使用命名空间并且您不需要不同的文档结构,则应避免使用@package:If, across the board, both logical and functional subdivisions areequal is it NOT RECOMMENDED to use the @package tag, to preventmaintenance overhead.http://phpdoc.org/docs/...

PHP SimpleXML命名空间问题【代码】

我正在尝试获取RSS提要中每个条目的entry-> id和entry-> cap:parameter->值….下面是我正在使用的代码.它正确显示id,但它没有显示值字段….请帮忙.$url = 'http://alerts.weather.gov/cap/us.php?x=1'; $cap = simplexml_load_file($url); foreach($cap->entry as $entry){echo 'ID: ', $entry->id, "\n";echo 'VTEC: ', $entry->children('cap', true)->parameter->value, "\n"; echo "<hr>"; }我在这里先向您的帮助表示感谢.解...

php – 简单的XML命名空间警告【代码】

我试图使用simplexml解析以下XML … http://datapoint.metoffice.gov.uk/public/data/txt/wxfcs/regionalforecast/xml/500?key=ed47ad61-5033-48c8-bf7c-6c4c0b17c3f3 但是一旦我添加了这条线……$xml = simplexml_load_file('http://datapoint.metoffice.gov.uk/public/data/txt/wxfcs/regionalforecast/xml/500?key=ed47ad61-5033-48c8-bf7c-6c4c0b17c3f3');我得到了错误namespace warning : xmlns: URI www.metoffice.gov.uk/xm...

php – 将在自动加载的命名空间类文件中声明的函数转换为全局函数【代码】

我的要求可能看起来像是糟糕的做法,但是我想知道它是否可行. 我正在使用作曲家自动加载我的课程.在其中一个类文件中,我想定义一个可以在全局命名空间中用作速记的函数.由于作曲家的要求,该类需要被命名空间. 我的问题:有什么方法可以通过微小的改动来实现这个目的吗? MyClass.php:<?phpnamespace Jodes;class MyClass {public function __construct() {echo "I am the class";} }function fn(){echo "I am a shorthand for doin...

Eclipse PDT:具有有效PHP命名空间语法的语法错误【代码】

我正在使用带有PDT 2.2的Eclipse 3.6(Helios),并且在尝试“使用”命名空间时遇到语法错误. 有什么我可以做的来解决这个问题吗? 例:use Tables\Exceptions\Exception as Exception;PHP Parser将“Tables”识别为此行的语法错误,而其他人则喜欢它.解决方法:这可能与Eclipse中的解释器设置有关. 转到“项目”菜单,然后选择“属性”.完成“属性”屏幕后,您可以转到PHP解释器并在项目级别或工作空间级别调整PHP版本. 将PHP版本设置为5...

php – PDO FETCH_CLASS和命名空间问题【代码】

我试图在对象上使用PDO :: FETCH_CLASS.我正在使用命名空间,只需输入:$result = $query->fetchAll(\PDO::FETCH_CLASS, 'Product');要么$result = $query->fetchAll(\PDO::FETCH_CLASS, '\Product');导致PHP在应用程序的根目录中查找Product.php. 我可以使用以下方法成功实例化新产品:$product = new Product();所以我知道我的名字间距正在起作用. 这不可能吗?或者我是否需要首先实例化产品然后从查询后填充它?解决方法:我怀疑P...