2014-11-15 120 views
6

好吧,在laravel 4,如果我想添加自己的自定义类,如:图书馆\ myFunction.php然后我做以下步骤:如何在Laravel 5中添加我自己的自定义类?

  1. 添加“myFunctions.php”到应用/library/myFunctiosn.php
  2. 应用程序/开始/ global.php,内类加载器:: addDirectories(阵列(,我添加APP_PATH()。 '/库',
  3. 和我的叶片视图内调用它,我添加以下代码
<?php 
    $FmyFunctions1 = new myFunctions; 
    $is_ok1=($FmyFunctions1->is_ok()); 
?> 
  • 内容应用程序/库/ myFunctions.php是:
  • <?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?

    并尝试添加“应用程序/库/”,自动加载阵列和运行作曲家达姆,自动加载,但它总是给我错误:

    在xxxx行FatalErrorException xx:C姑娘“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 
    

    但仍然无法正常工作......

    +0

    尝试运行作曲家转储自动加载,而不是 – Richie

    +0

    已经和composer.json –

    +0

    使用命名空间自动加载并不起作用...... – itachi

    回答

    3

    有时反复试验,我发现后答案:

    没有必要修改作曲家。只需修改刀片成

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

    为什么这给予反思错误? – Gokigooooks

    4

    This应该帮助你。

    FYI: 基本上,你可以创建应用程序中的另一个目录,然后你的命名空间中的文件有适当的:

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

    然后,在你的SomeClass中。PHP,请确保您的命名空间:

    <?php namespace App\CustomStuff\CustomDirectory; 
    
    class Someclass {} 
    

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

    使用App \ CustomStuff \ CustomDirectory \ SomeClass的;

    相关问题