<tfoot id='KdHkZ'></tfoot>
<i id='KdHkZ'><tr id='KdHkZ'><dt id='KdHkZ'><q id='KdHkZ'><span id='KdHkZ'><b id='KdHkZ'><form id='KdHkZ'><ins id='KdHkZ'></ins><ul id='KdHkZ'></ul><sub id='KdHkZ'></sub></form><legend id='KdHkZ'></legend><bdo id='KdHkZ'><pre id='KdHkZ'><center id='KdHkZ'></center></pre></bdo></b><th id='KdHkZ'></th></span></q></dt></tr></i><div id='KdHkZ'><tfoot id='KdHkZ'></tfoot><dl id='KdHkZ'><fieldset id='KdHkZ'></fieldset></dl></div>

    <bdo id='KdHkZ'></bdo><ul id='KdHkZ'></ul>

  • <small id='KdHkZ'></small><noframes id='KdHkZ'>

        <legend id='KdHkZ'><style id='KdHkZ'><dir id='KdHkZ'><q id='KdHkZ'></q></dir></style></legend>
      1. PHP 命名空间和“使用"

        时间:2024-05-11
      2. <tfoot id='glFw8'></tfoot>
          <i id='glFw8'><tr id='glFw8'><dt id='glFw8'><q id='glFw8'><span id='glFw8'><b id='glFw8'><form id='glFw8'><ins id='glFw8'></ins><ul id='glFw8'></ul><sub id='glFw8'></sub></form><legend id='glFw8'></legend><bdo id='glFw8'><pre id='glFw8'><center id='glFw8'></center></pre></bdo></b><th id='glFw8'></th></span></q></dt></tr></i><div id='glFw8'><tfoot id='glFw8'></tfoot><dl id='glFw8'><fieldset id='glFw8'></fieldset></dl></div>

              <tbody id='glFw8'></tbody>

              <bdo id='glFw8'></bdo><ul id='glFw8'></ul>
              • <small id='glFw8'></small><noframes id='glFw8'>

                1. <legend id='glFw8'><style id='glFw8'><dir id='glFw8'><q id='glFw8'></q></dir></style></legend>
                  本文介绍了PHP 命名空间和“使用"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我在命名空间和 use 语句方面遇到了一点问题.

                  I am having a little trouble with namespaces and the use statements.

                  我有三个文件:ShapeInterface.phpShape.phpCircle.php.

                  I have three files: ShapeInterface.php, Shape.php and Circle.php.

                  我正在尝试使用相对路径来执行此操作,因此我已将其放入所有类中:

                  I am trying to do this using relative paths so I have put this in all of the classes:

                  namespace Shape; 
                  

                  在我的圈子课程中,我有以下内容:

                  In my circle class I have the following:

                  namespace Shape;
                  //use Shape;
                  //use ShapeInterface;
                  
                  include 'Shape.php';
                  include 'ShapeInterface.php';    
                  
                  class Circle extends Shape implements ShapeInterface{ ....
                  

                  如果我使用 include 语句,我不会出错.如果我尝试 use 语句,我会得到:

                  If I use the include statements I get no errors. If I try the use statements I get:

                  致命错误:在中找不到类ShapeShape"/Users/shawn/Documents/work/sites/workspace/shape/Circle.php 在第 8 行

                  Fatal error: Class 'ShapeShape' not found in /Users/shawn/Documents/work/sites/workspace/shape/Circle.php on line 8

                  有人可以就这个问题给我一些指导吗?

                  Could someone please give me a little guidance on the issue?

                  推荐答案

                  use operator 用于为类、接口或其他命名空间的名称提供别名.大多数 use 语句引用您想要缩短的命名空间或类:

                  The use operator is for giving aliases to names of classes, interfaces or other namespaces. Most use statements refer to a namespace or class that you'd like to shorten:

                  use MyFullNamespace;
                  

                  相当于:

                  use MyFullNamespace as Namespace;
                  // NamespaceFoo is now shorthand for MyFullNamespaceFoo
                  

                  如果 use 操作符与类或接口名称一起使用,它有以下用途:

                  If the use operator is used with a class or interface name, it has the following uses:

                  // after this, "new DifferentName();" would instantiate a MyFullClassname
                  use MyFullClassname as DifferentName;
                  
                  // global class - making "new ArrayObject()" and "new ArrayObject()" equivalent
                  use ArrayObject;
                  

                  use 运算符不要与 autoloading 混淆.通过注册一个自动加载器(例如使用 spl_autoload_register)来自动加载一个类(不需要 include).您可能想阅读 PSR-4 以了解合适的自动加载器实现.

                  The use operator is not to be confused with autoloading. A class is autoloaded (negating the need for include) by registering an autoloader (e.g. with spl_autoload_register). You might want to read PSR-4 to see a suitable autoloader implementation.

                  这篇关于PHP 命名空间和“使用"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:PHP 命名空间 simplexml 问题 下一篇:具有动态类名的 PHP 命名空间

                  相关文章

                    <small id='N1cWF'></small><noframes id='N1cWF'>

                    <i id='N1cWF'><tr id='N1cWF'><dt id='N1cWF'><q id='N1cWF'><span id='N1cWF'><b id='N1cWF'><form id='N1cWF'><ins id='N1cWF'></ins><ul id='N1cWF'></ul><sub id='N1cWF'></sub></form><legend id='N1cWF'></legend><bdo id='N1cWF'><pre id='N1cWF'><center id='N1cWF'></center></pre></bdo></b><th id='N1cWF'></th></span></q></dt></tr></i><div id='N1cWF'><tfoot id='N1cWF'></tfoot><dl id='N1cWF'><fieldset id='N1cWF'></fieldset></dl></div>
                    <legend id='N1cWF'><style id='N1cWF'><dir id='N1cWF'><q id='N1cWF'></q></dir></style></legend>
                    • <bdo id='N1cWF'></bdo><ul id='N1cWF'></ul>

                      <tfoot id='N1cWF'></tfoot>