如何在Laravel 5中添加我自己的自定义类?

时间:2014-11-15 04:01:38

标签: class laravel

好的,在laravel 4中,如果我想添加自己的自定义类,例如:library \ myFunction.php,那么我执行以下步骤:

  1. 将“ myFunctions.php ”添加到 app / library / myFunctiosn.php
  2. app / start / global.php ,在 ClassLoader :: addDirectories(数组( ),I中)添加 app_path()。'/ library',
  3. 要在我的刀片视图中调用它,我添加以下代码
  4. <?php
      $FmyFunctions1 = new myFunctions;
      $is_ok1=($FmyFunctions1->is_ok());   
    ?>
    
    1. app / library / myFunctions.php的内容是:
    2. <?php namespace App\library {
      
          class myFunctions {
              public function is_ok() {
                  return 'myFunction is OK';
              }
          }
      
      }
      ?>
      

      它有效。

      但是如何在Laravel 5中这样做???

      PS:我读过What are the best practices and best places for laravel 4 helpers or basic functions?

      并尝试将 “app / library /”, 添加到 自动加载阵列 并运行 composer dum-autoload ,但它一直给我错误:

         xxxx行xx中的FatalErrorException:未找到类'myFunctions'

      我也在尝试使用:

      composer update
      composer dump-autoload 
      php artisan dump
      php artisan clear-compiled
      php artisan dump-autoload
      php artisan optimize
      php artisan route:clear
      php artisan route:scan
      php artisan route:list 
      

      但仍然不起作用......

2 个答案:

答案 0 :(得分:11)

This可以帮到你。

供参考: 基本上,您可以在app中创建另一个目录,然后根据需要将文件命名为:

应用程序/ CustomStuff / CustomDirectory / SomeClass.php。

然后,在SomeClass.php中,确保将其命名为:

<?php namespace App\CustomStuff\CustomDirectory;

class Someclass {}

现在,您可以使用类中的命名空间访问此类:

使用App \ CustomStuff \ CustomDirectory \ SomeClass;

答案 1 :(得分:5)

有时候经过反复试验,我找到了答案:

无需修改作曲家。只需将刀片修改为

即可
<?php
  $FmyFunctions1 = new \App\library\myFunctions;
  $is_ok = ($FmyFunctions1->is_ok());
?>