• <legend id='bUxg3'><style id='bUxg3'><dir id='bUxg3'><q id='bUxg3'></q></dir></style></legend>

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

        <bdo id='bUxg3'></bdo><ul id='bUxg3'></ul>
      <i id='bUxg3'><tr id='bUxg3'><dt id='bUxg3'><q id='bUxg3'><span id='bUxg3'><b id='bUxg3'><form id='bUxg3'><ins id='bUxg3'></ins><ul id='bUxg3'></ul><sub id='bUxg3'></sub></form><legend id='bUxg3'></legend><bdo id='bUxg3'><pre id='bUxg3'><center id='bUxg3'></center></pre></bdo></b><th id='bUxg3'></th></span></q></dt></tr></i><div id='bUxg3'><tfoot id='bUxg3'></tfoot><dl id='bUxg3'><fieldset id='bUxg3'></fieldset></dl></div>
        <tfoot id='bUxg3'></tfoot>
      1. PHP使用来自作曲家的自动加载器添加自定义命名空间

        PHP adding custom namespace using autoloader from composer(PHP使用来自作曲家的自动加载器添加自定义命名空间)
          <i id='DH7lb'><tr id='DH7lb'><dt id='DH7lb'><q id='DH7lb'><span id='DH7lb'><b id='DH7lb'><form id='DH7lb'><ins id='DH7lb'></ins><ul id='DH7lb'></ul><sub id='DH7lb'></sub></form><legend id='DH7lb'></legend><bdo id='DH7lb'><pre id='DH7lb'><center id='DH7lb'></center></pre></bdo></b><th id='DH7lb'></th></span></q></dt></tr></i><div id='DH7lb'><tfoot id='DH7lb'></tfoot><dl id='DH7lb'><fieldset id='DH7lb'></fieldset></dl></div>

          1. <legend id='DH7lb'><style id='DH7lb'><dir id='DH7lb'><q id='DH7lb'></q></dir></style></legend>
              <tbody id='DH7lb'></tbody>

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

              1. <tfoot id='DH7lb'></tfoot>

                  <bdo id='DH7lb'></bdo><ul id='DH7lb'></ul>
                • 本文介绍了PHP使用来自作曲家的自动加载器添加自定义命名空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  这是我的文件夹结构:

                  Classes
                    - CronJobs
                      - Weather
                        - WeatherSite.php
                  

                  我想从我的脚本中加载 WeatherSite 类.我使用带有自动加载功能的作曲家:

                  I want to load WeatherSite class from my script. Im using composer with autoload:

                  $loader = include(LIBRARY .'autoload.php');
                  $loader->add('ClassesWeather',CLASSES .'cronjobs/weather');
                  $weather = new ClassesWeatherWeatherSite();
                  

                  我假设上面的代码是添加命名空间和命名空间解析到的路径.但是当页面加载时我总是得到这个错误:

                  Im assuming the above code is adding the namespace and the path that namespace resolves to. But when the page loads I always get this error:

                   Fatal error: Class 'ClassesWeatherWeatherSite' not found
                  

                  这是我的 WeatherSite.php 文件:

                  Here is my WeatherSite.php file:

                  namespace ClassesWeather;
                  
                  class WeatherSite {
                  
                      public function __construct()
                      {
                  
                      }
                  
                      public function findWeatherSites()
                      {
                  
                      }
                  
                  }
                  

                  我做错了什么?

                  推荐答案

                  你其实不需要自定义自动加载器,你可以使用 PSR-4.

                  You actually don't need custom autoloader, you can use PSR-4.

                  更新 composer.json 中的 autoload 部分:

                  Update your autoload section in composer.json:

                  "autoload": {
                      "psr-4": {
                          "Classes\Weather\": "Classes/CronJobs/Weather"
                      }
                  }
                  

                  解释一下:它是 {"Namespace\":"directory to be found in"}

                  别忘了运行 composer dump-autoload 来更新 Composer 缓存.

                  Don't forget to run composer dump-autoload to update Composer cache.

                  那么你可以这样使用它:

                  Then you can use it like this:

                  include(LIBRARY .'autoload.php');
                  
                  $weather = new ClassesWeatherWeatherSite();
                  

                  这篇关于PHP使用来自作曲家的自动加载器添加自定义命名空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How do I parse XML containing custom namespaces using SimpleXML?(如何使用 SimpleXML 解析包含自定义命名空间的 XML?)
                  SimpleXML SOAP response Namespace issues(SimpleXML SOAP 响应命名空间问题)
                  Problems with PHP namespaces and built-in classes, how to fix?(PHP 命名空间和内置类的问题,如何解决?)
                  Use php namespace inside function(在函数内部使用 php 命名空间)
                  unexpected #39;use#39; (T_USE) when trying to use composer(尝试使用作曲家时意外的“使用(T_USE))
                  How to use composer packages in codeigniter?(如何在 codeigniter 中使用作曲家包?)
                • <tfoot id='1jNjG'></tfoot>
                      <bdo id='1jNjG'></bdo><ul id='1jNjG'></ul>

                          • <small id='1jNjG'></small><noframes id='1jNjG'>

                          • <legend id='1jNjG'><style id='1jNjG'><dir id='1jNjG'><q id='1jNjG'></q></dir></style></legend>

                              <tbody id='1jNjG'></tbody>

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