2017-04-19 1 views
0

Ich möchte Zweig für ein Projekt installieren, aber keinen Befehlszeilenzugriff auf den Server. Ich kann nur Dateien über FTP hochladen. Dies würde bedeuten, dass ich die Zweigbibliothek manuell einrichten muss, d. H. Die Autoload.php-Datei selbst erstellen. Ich habe gründlich gesucht, aber Informationen zu diesem Thema sind knapp. Ich habe das folgende autoload "geliehen" von einem anderen Projekt versucht, aber dieses produziert kein funktionierendes Setup.So installieren Sie Zweig ohne Verwendung von Composer

<?php 

/* 
* This file is part of Twig. 
* 
* (c) 2009 Fabien Potencier 
* 
* For the full copyright and license information, please view the LICENSE 
* file that was distributed with this source code. 
*/ 

/** 
* Autoloads Twig classes. 
* 
* @author Fabien Potencier <[email protected]> 
*/ 
class Twig_Autoloader 
{ 
    /** 
    * Registers Twig_Autoloader as an SPL autoloader. 
    * 
    * @param bool $prepend Whether to prepend the autoloader or not. 
    */ 
    public static function register($prepend = false) 
    { 
     if (version_compare(phpversion(), '5.3.0', '>=')) { 
      spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); 
     } else { 
      spl_autoload_register(array(__CLASS__, 'autoload')); 
     } 
    } 

    /** 
    * Handles autoloading of classes. 
    * 
    * @param string $class A class name. 
    */ 
    public static function autoload($class) 
    { 
     if (0 !== strpos($class, 'Twig')) { 
      return; 
     } 

     if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) { 
      require $file; 
     } 
    } 
} 

Jede Hilfe wäre willkommen.

+1

Haben Sie eine lokale Entwicklungskopie? Sie können die Installation lokal mithilfe von Composer durchführen und dann eine neue Version mit dem Bereitstellungsvorgang bereitstellen. – Chris

+0

Können Sie einen anderen Hosting-Anbieter finden? – user2182349

Antwort

0

Wenn Sie wirklich Zweig müssen laden, ohne Composer können Sie verwenden: https://gist.github.com/sarciszewski/b6cd3776fbd20acaf26b

Ich empfehle Setup Composer in Ihrer lokalen Entwicklungsumgebung. (Sie können herunterladen von https://getcomposer.org/) Installieren Sie Zweig mit Composer.

composer require twig/twig:~2.0 

umfassen Dann Autoloader zu einem Projekt:

require_once 'vendor/autoload.php'; 

Sie können lokal arbeiten und wenn das Projekt auf den Server mit dem Lieferanten-Verzeichnis bereit bereitstellen, das die installierten Pakete enthält. Sie benötigen keinen Composer auf Ihrem Server.

+1

Warum liefern Sie nicht eine [offizielle] Quelle (https://github.com/twigphp/Twig/releases) zum Herunterladen von 'Twig'? – DarkBee

0

Nach dem Studium der Link von András stellte ich fest, dass der Schlüssel ist nicht der Lademechanismus, sondern die Tatsache, dass "autoload.php" scheint zu fehlen. Ich fand heraus, dass die Version von Twig, die ich benutzte, tatsächlich eine 2.X-Version war, die mindestens PHP 7 erfordert. Da ich mit 5.4 arbeite, würde das natürlich nicht funktionieren. Glücklicherweise bietet die neueste Version 1.x der lib eine autoload.php, von daher hat alles gut funktioniert.

Verwandte Themen