Symfony beschriebt die „symfony components“ selbst wie folgt:
(http://symfony.com/de/components)
Jede Komponente verfügt über eine eigene composer.json und sollte sich somit problemlos auch ohne das Framework benutzen lassen.
Eine Zeile in der eignen composer.json genügt bereits um die Komponente in das eigene Projekt einzubinden:
dann
und alles ist fertig installiert – sehr schön
Auf github.com findet man die Komponente unter https://github.com/symfony/symfony/t...ent/DomCrawler
und die Readme Datei beinhaltet bereits ein paar kleinere Beispiele.
Ok, also ein erster Test:
das Ergebnis sieht dann so aus:
Der Grund dafür ist dass eine benötigte Klasse (Symfony\Component\CssSelector\CssSelector) nicht mit installiert wurde, da sie nicht in composer.json der Komponente eingetragen ist.
Ich dachte zuerst, daß es sich nur um ein Versehen/Bug handeln kann, bis ich nach einigen Stichproben festgestellt habe, daß auch in vielen anderen Komponenten die Abhängigkeiten beim Installieren nicht berücksichtigt werden?!!!
Nun bin ich neugierig geworden und habe mir das auch bei ZF2 angeschaut (https://github.com/zendframework/zf2...r/library/Zend). Alles OK soweit ich das stichprobenartig feststellen konnte, die benötigten Bibliotheken sind in der jeweiligen composer.json eingetragen und werden automatisch mit installiert.
Hat vielleicht jemand eine Idee was sich symfony dabei gedacht hat?
VG
jack
Die Symfony Components bilden für die Webentwicklung typische Grundfunktionen ab. Sie stellen die Basis des vollständigen Symfony-Frameworks dar, können aber auch für sich allein eingesetzt werden, da sie über keine festgelegten Abhängigkeiten verfügen.
Jede Komponente verfügt über eine eigene composer.json und sollte sich somit problemlos auch ohne das Framework benutzen lassen.
Eine Zeile in der eignen composer.json genügt bereits um die Komponente in das eigene Projekt einzubinden:
Code:
{ "require": { "symfony/dom-crawler": "~2.7" } }
Code:
composer install
Auf github.com findet man die Komponente unter https://github.com/symfony/symfony/t...ent/DomCrawler
und die Readme Datei beinhaltet bereits ein paar kleinere Beispiele.
Ok, also ein erster Test:
Code:
require '../vendor/autoload.php'; use Symfony\Component\DomCrawler\Crawler; $crawler = new Crawler(); $crawler->addContent('<html><body><p>Hello World!</p></body></html>'); print $crawler->filter('body > p')->text();
Code:
Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to filter with a CSS selector as the Symfony CssSelector is not installed (you can use filterXPath instead).' in …..vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Crawler.php on line�*669
Ich dachte zuerst, daß es sich nur um ein Versehen/Bug handeln kann, bis ich nach einigen Stichproben festgestellt habe, daß auch in vielen anderen Komponenten die Abhängigkeiten beim Installieren nicht berücksichtigt werden?!!!
Nun bin ich neugierig geworden und habe mir das auch bei ZF2 angeschaut (https://github.com/zendframework/zf2...r/library/Zend). Alles OK soweit ich das stichprobenartig feststellen konnte, die benötigten Bibliotheken sind in der jeweiligen composer.json eingetragen und werden automatisch mit installiert.
Hat vielleicht jemand eine Idee was sich symfony dabei gedacht hat?
VG
jack
Kommentar