kostenloser Webspace werbefrei: lima-city


Composer: Autoload enthält eigene Klasse nicht

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    tchab

    tchab hat kostenlosen Webspace.

    Moin,

    ich versuche gerade, Composer meine eigenen PHP-Dateien beizubring. In einem Versuch ist folgendes entstanden:

    "composer.json"
    {
    	"name": "NEC/gallery",
    	"require": {
    		"twig/twig": "^2.0",
    		"nikic/fast-route": "^1.2"
    	},
    	"autoload": {
    		"psr-4": {"NEC\\": "_source/"}
    	}
    }


    "_source/NEC_tools.php"
    <?php namespace NEC;
    
    	class Tools {
    		
    		public function get_clean_filename($path) {
    			$splitted_path = explode("/", $path);
    			$no_dir = end($splitted_path);
    			$no_ext = explode(".", $no_dir)[0];
    			return $no_ext;
    		}
    		
    	}
    	
    ?>


    "index.php"
    <?php
    	require_once __DIR__ . '/vendor/autoload.php';
    	
    	// Load helper functions.
    	$tools = new NEC\Tools();
    
    ?>


    "composer update" hatte ich natürlich ausgeführt, nachdem der Autoload-Eintrag hinzugefügt wurde. Ich sehe leider nicht, was ich falsch mache, hoffentlich könnt ihr mir helfen. :)

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du definierst deine Klasse als PSR-4 [1] konform. Soweit ich das sehe stimmt dein Dateiname allerdings nicht mit der Konvention überein.
    Lösungsvorschlag:
    mv _source/NEC_tools.php _source/Tools.php
    und anschließend
    composer dump-autoload


    Genereller Verbesserungsvorschlag:
    Datei: /src/Nec/Tools.php
    Composer: [...] "psr-4": {"Nec\\": "src/Nec/"} [...]

    [1] http://www.php-fig.org/psr/psr-4/
  4. Autor dieses Themas

    tchab

    tchab hat kostenlosen Webspace.

    Danke lucas,

    habe mich an deinen generellen Verbesserungsvorschlag gehalten :)
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!