2016-11-15 50 views
-1

我已經使用apt-get安裝了php-symfony-routing。當我試圖運行下面的代碼時,出現下面的錯誤消息。在我的ubuntu機器上安裝和使用php-symfony- *組件

<?php 
$routes = new \Symfony\Component\Routing\RouteCollection(); 

錯誤:

PHP Fatal error: Uncaught Error: Class 'Symfony\Component\Routing\RouteCollection' not found in 

回答

1

的錯誤是因爲腳本不知道如何找到類。

我不會推薦以這種方式安裝庫。

看看Symfony docs並使用Composer進行調查。

一旦作曲家爲您安裝了依賴關係,您可以使用它的自動加載器,腳本用它來定位您正在使用的類。

composer require symfony/routing 

以上步驟創建一個供應商目錄並將其安裝到其中。它還會創建一個自動加載器供您使用。

<?php 
require 'vendor/autoload.php'; 

$routes = new \Symfony\Component\Routing\RouteCollection(); 

作曲的優勢不僅是易用性和自動裝彈機,但它允許你指定每個項目的依賴。不同的項目可能需要不同版本的不同庫。還有一些其他的東西,但這超出了這個問題的範圍。

+0

我想要做的是找出何時apt-get安裝php-symfony-routing運行它所做的工作,以及是否有任何使用此方法的好處。 – user2254602

+0

從我看到的lib已經安裝在/ usr/share/php/Symfony/Component/Routing下面的目錄下,現在我可以使用composer.json來加載這個庫「/ usr/share/php/Symfony/Component/Routing/autoload.php「]我想問什麼,有沒有人嘗試過這種方法,如果有的話,他發現什麼是prons和cons。 – user2254602

+0

作曲家的優勢在於答案。要按照您當前擁有的方式使用軟件包,需要使用剛纔在腳本中提到的autoload.php路徑。 apt方法的缺點包括不得不等待程序包維護人員進行更新,並且屏蔽了項目所需的依賴關係。 – bcmcfc

相關問題