2014-11-15 18 views
6

Ok, trong laravel 4, nếu tôi muốn thêm lớp tùy chỉnh của riêng tôi, ví dụ như: thư viện \ myFunction.php sau đó tôi làm các bước sau:Làm cách nào để thêm lớp tùy chỉnh của riêng tôi vào Laravel 5?

  1. add "myFunctions.php" vào ứng dụng /library/myFunctiosn.php
  2. tại ứng dụng/start/global.php, trong ClassLoader :: addDirectories (mảng (, tôi thêm app_path(). '/ Thư viện',
  3. Và để gọi nó trong xem lưỡi của tôi, tôi thêm các mã sau
<?php 
    $FmyFunctions1 = new myFunctions; 
    $is_ok1=($FmyFunctions1->is_ok()); 
?> 
  1. Nội dung ứng dụng/thư viện/myFunctions.php là:
<?php namespace App\library { 

    class myFunctions { 
     public function is_ok() { 
      return 'myFunction is OK'; 
     } 
    } 

} 
?> 

Và nó hoạt động.

Nhưng cách làm như vậy trong Laravel 5 ???

PS: Tôi đọc What are the best practices and best places for laravel 4 helpers or basic functions?

Và cố gắng thêm "app/thư viện /", đến các mảng autoload và chạy nhà soạn nhạc dum-autoload, nhưng nó giữ cho tôi lỗi:

FatalErrorException in xxxx line xx: C lass 'myFunctions' không tìm thấy

Tôi cũng đã cố gắng sử dụng:

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 

Nhưng vẫn không hoạt động ...

+0

Thử chạy soạn nhạc tự đổ autoload thay – Richie

+0

đã và không hoạt động hoặc –

+0

sử dụng namespace tự động load trong composer.json – itachi

Trả lời

3

Sau đôi khi cho thử và sai, tôi thấy câu trả lời:

Không cần sửa đổi nhà soạn nhạc. Chỉ việc điều chỉnh lưỡi vào

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

tại sao thực hiện điều này phản ánh lỗi cho? – Gokigooooks

4

This sẽ giúp bạn.

FYI: Về cơ bản, bạn có thể tạo một thư mục trong ứng dụng, và sau đó không gian tên tập tin của bạn trong đó là thích hợp:

app/CustomStuff/CustomDirectory/SomeClass.php.

Sau đó, trong SomeClass của bạn.php, chắc chắn rằng bạn không gian tên nó:

<?php namespace App\CustomStuff\CustomDirectory; 

class Someclass {} 

Bây giờ, bạn có thể truy cập vào lớp này bằng cách sử dụng namespace trong lớp học của bạn:

sử dụng App \ CustomStuff \ CustomDirectory \ SomeClass;

Các vấn đề liên quan