2012-11-12 22 views
12

Xin chào Tôi đang cố gắng sử dụng khung công tác SILEX cùng với thư viện đầy đủ các lớp và do đó tôi bị mắc kẹt với 2 bộ nạp dẫn đến lỗi mà trình tải không thể tải lớp. cách nào để sử dụng 2 bộ nạp này cùng một lúc mà không bị lỗi này?sử dụng nhiều bộ nạp tự động php

bộ nạp mà tôi sử dụng, bạn có thể tìm thấy bên dưới:

<?php 

/* 
* Loader 
*/ 

function my_autoloader($className) 
{ 
// haal de base dir op. 
    $base = dirname(__FILE__); 


    // het pad ophalen 
    $path = $className; 

    // alle paden samenvoegen tot waar ik zijn moet en de phpfile eraan plakken. 
    $file = $base . "/lib/" . $path . '.php';  

    // als file bestaat haal op anders error 
    if (file_exists($file)) 
    { 
     require $file; 
    } 
    else 
    { 
     error_log('Class "' . $className . '" could not be autoloaded'); 
     throw new Exception('Class "' . $className . '" could not be autoloaded from: ' . $file); 
    } 
} 

spl_autoload_register('my_autoloader'); 

?> 

bộ nạp rằng silex sử dụng là trong thư mục nhà cung cấp (từ khuôn khổ chính nó)

và đây là cách cây tập tin của tôi trông giống như :

filetree

Trả lời

30

Đừng ném lỗi trong chức năng nạp đạn tự động của bạn. spl_autoload_register cho phép php đi qua tất cả các trình nạp tự động đã đăng ký theo thứ tự, nhưng nếu bạn ném một lỗi vô tình vào giữa quá trình đó, nó không thể thử trình nạp tự động tiếp theo.

http://php.net/spl_autoload_register

+0

Xin chào! cảm ơn :) sẽ chấp nhận câu trả lời của bạn là chính xác khi có thể (4 phút đó là) – Reshad

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