Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] GitHub PHP Libraries ohne Composer installieren?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] GitHub PHP Libraries ohne Composer installieren?

    Hallo zusammen,

    es gibt auf GitHub ja relativ viele PHP Libraries. Nun würde ich z.B. gerne Guzzle einsetzen, doch ich finde lediglich eine Beschreibung für einen Weg mit Composer. Ich möchte aber nichts mit dem Composer installieren und würde gerne bei der gewohnte Art bleiben, benötigte Files via require_once einzubinden.

    Ich habe weiter auch die Dateien als .zip heruntergeladen. Doch hier gibt es leider im Ordner src zwar eine Reihe von php Files. Doch keine die guzzle o.ä. heißt und als Initialfile herhalten könnte.

    Warum macht man es der möglichen Nutzerschaft so schwer? Gerade wenn man Plugins für verschiedene CMS entwickeln möchte, kann man doch nicht immer einen Composer voraussetzen.

    Vielen Dank!


  • #2
    Ein Projekt ohne Composer, wo gibts das noch? Warum willst du kein Composer nutzen?

    Du kannst lokal auch mit dem Composer arbeiten und alles installieren und danach den Composer wegschmeissen. Das "init" File welches du suchst wird vom Composer generiert und befindet sich unter vendor/autoload.php

    Kommentar


    • #3
      Der Vollständigkeit halber - ev. als Info für dich zum Composer: Composer Kickstart-Guide

      LG
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Hallo zusammen,

        vielen Dank für die Hilfestellung, ich muss wohl einsehen, dass ich um den Composer Einsatz offensichtlich nicht herum kommen.

        Ich denke mal ich verstehe das Konzept und denke, dass es auch vielen helfen könnte im täglichen Alltag. Aber wenn man nicht gerade an einem Großprojekt sitzt und gerade für ein paar Hilfstools etwas entwickeln möchte und zudem durch die Webhoster Reglements in die Schranken gewiesen wird, wäre es doch sehr hilfreich, wenn es zumindest auch immer ein Möglichkeit ohne geben würde.

        Ich habe hier z.B. eine .phar einer älteren Version von Guzzle gefunden und diese via PHP entpackt. Dort gibt es z.B. den Vendor Ordner aber neben den Unterordnern (Doctrine, Monolog & Symfony) findet man auch hier keine autoload.php. Und als eingebundene .phar Datei kann ich bei einem Fehler den ich momentan habe, leider nichts debuggen.

        Ich versuche es nun einmal mit der Anleitung und Composer.

        Kommentar


        • #5
          Hallöchen,

          Zitat von Curcio Beitrag anzeigen
          vielen Dank für die Hilfestellung, ich muss wohl einsehen, dass ich um den Composer Einsatz offensichtlich nicht herum kommen.
          Das erweckt den Eindruck, als sei Composer ein notwendiges Übel. Das stimmt aber nicht. Composer bringt in meinen Augen nur Vorteile mit. Built-in Autoloader, Förderung von Modularisierung, simples Dependency-Management. Composer bringt dich einfach voran.

          Zitat von Curcio Beitrag anzeigen
          Ich denke mal ich verstehe das Konzept und denke, dass es auch vielen helfen könnte im täglichen Alltag. Aber wenn man nicht gerade an einem Großprojekt sitzt und gerade für ein paar Hilfstools etwas entwickeln möchte
          Das ist Blödsinn. Um dein Projekt auf Composer zu stützen reicht genau 1 Befehl (composer init) bzw. eine Datei (composer.json) und du hast direkt die Möglichkeit hunderte Bibliotheken in dein Projekt einzubinden und vom Autoloading zu profitieren. Auch musst du Dependencies nicht mehr ins Git-Repository einchecken. Es eignet sich also auch für kleine Projekte hervorragend. Ich nutze Composer in Projekten jeglicher Größe.

          Zitat von Curcio Beitrag anzeigen
          und zudem durch die Webhoster Reglements in die Schranken gewiesen wird, wäre es doch sehr hilfreich, wenn es zumindest auch immer ein Möglichkeit ohne geben würde.
          Ob du Composer verwendest oder nicht hat mit dem Webhoster nichts zu tun. Außerdem solltest du dir Gedanken darüber machen, ob ein Webhoster, der dich in deinen Möglichkeiten einschränkt, wirklich der richtige für dich ist. Wer's einfach und günstig haben will, kann sich mal bei uberspace umsehen.

          Zitat von Curcio Beitrag anzeigen
          Ich habe hier z.B. eine .phar einer älteren Version von Guzzle gefunden und diese via PHP entpackt. Dort gibt es z.B. den Vendor Ordner aber neben den Unterordnern (Doctrine, Monolog & Symfony) findet man auch hier keine autoload.php. Und als eingebundene .phar Datei kann ich bei einem Fehler den ich momentan habe, leider nichts debuggen.

          Auch nach der php.de Anleitung erhalte ich z.B. bei der Installation folgenden Fehler:



          Leider kann ich das Konsolenfenster nicht weiter in der Breite vergrößern.
          Welche PHP-Version verwendest du denn auf deinem System?

          Viele Grüße,
          lotti

          Kommentar


          • #6
            Hi,

            ich habe derzeit noch xampp mit php 5.3.8. Aber ich habe bereits eine Guzzle Version via Composer geladen, die damit läuft. Aber ich finde es beachtlich, welcher Fileschwarm damit einhergeht. Stolze 12,4 MB für eine Library die ein paar Requests senden kann. Könnte die Composer Thematik nicht ggf. auch dazu verleiten, dass man sich beim Code nicht mehr auf das Wesentliche beschränkt? Man wird doch viel schneller dazu angehalten, ganze Packages anzugeben, anstatt diese hinsichtlich des jeweils benötigten Codes zu evaluieren.

            Ich persönlich wollte gerne auf Guzzle setzen, da es der einzige HTTP Client ist, der offenbar fernab Curl klarkommt. Da ich aber bezweifle, dass viele >10 MB Plugins installieren wollen, wenn es ohne Guzzle mit 1,4 MB auskommen würde, werde ich hiervon erst einmal Abstand nehmen.

            Kommentar


            • #7
              Du hast da einen Denkfehler. Composer läd alle Abhängigkeiten für dich im Hintergrund zusammen. Das musst du ja nicht überall immer wieder machen. Du kannst auch fertige Pakete schnüren. Also eine große Zip-Datei.

              Wie groß ein Projekt ist, sich doch heute niemandem mehr wichtig. Wenn du unbedingt alles selbst schreiben willst, bitte.

              Wenn du auf battle-tested Standardkomponenten setzen willst, dann kannst du die auch von Hand einbinden. Aber wer macht das schon, wenn er Composer nutzen kann?
              Standards - Best Practices - AwesomePHP - Guideline für WebApps

              Kommentar


              • #8
                Zitat von Curcio Beitrag anzeigen
                Könnte die Composer Thematik nicht ggf. auch dazu verleiten, dass man sich beim Code nicht mehr auf das Wesentliche beschränkt? Man wird doch viel schneller dazu angehalten, ganze Packages anzugeben, anstatt diese hinsichtlich des jeweils benötigten Codes zu evaluieren.
                Was ist den für dich das Wesentliche? Du sagst Composer was du willst und den Rest übernimmt Composer für dich. Downloaden? Einbinden? Updates? Abhängigkeiten? Composer!
                Composer macht auch Dinge möglich die früher der totale krampf gewessen sind. Als Entwickler kannst du ohne Probleme Biblotheken anbieten die andere Pakete einbeziehen. Statt für dein HTTP Client ein eigene URL Komponente zu schreiben nimmst du einfach schon eine fertige wie z.B. zend_uri usw... Was ebend auch dazu führt das die Komponentensammlung wie Zend, Symfony und co mitlerweile auch einzlen verfügbar sind. Wenn ich früher z.B. zend_http_client haben wollt musste ich gleich das komplette Zend Framework nehmen (konnte zwar löschen, aber musste die Abhängigkeiten selbst beachten) Heute sage ich Composer gibt mir zend_http und fertig.

                Zitat von Curcio Beitrag anzeigen
                Ich persönlich wollte gerne auf Guzzle setzen, da es der einzige HTTP Client ist, der offenbar fernab Curl klarkommt. Da ich aber bezweifle, dass viele >10 MB Plugins installieren wollen, wenn es ohne Guzzle mit 1,4 MB auskommen würde, werde ich hiervon erst einmal Abstand nehmen.
                Ich kann dir aus dem Stegreif sagen das sowohl zend_http_client und snoopy auch ohne curl können. Guzzle kannte ich bis vor kurzen gar nicht. Das kam mit ratchet mit, komischerweise belegt das vendor Verzeichnis von ratchet nur 2,5mb.

                Kommentar


                • #9
                  Wenn PHP falsch konfiguriert ist, kann es passieren das Composer nicht via GIT von Github abholt sondern normal via http, was impliziert das du die .git-directory mit in den Vendor-Files hast, nur in diesem speziellen Fall blähen sich die Abhängigkeiten von Guzzle auf 10MB und mehr auf ( Versionshistory ).
                  [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                  Kommentar


                  • #10
                    Hallöchen,

                    Zitat von Curcio Beitrag anzeigen
                    ich habe derzeit noch xampp mit php 5.3.8.
                    Da liegt der Hund offensichtlich begraben, denn laut der Konsolenausgabe benötigt guzzlehttp/ringphp die PHP-Version 5.4.

                    Viele Grüße,
                    lotti

                    Kommentar


                    • #11
                      Hi,

                      ich habe mittlerweile einen HTTP Client aus 2003 gefunden & soweit auf den Stand der Dinge gebracht der nun alle Ansprüche erfüllt - war eine schwere Geburt . Snoopy kannte ich auch schon, ist ein super Client, wenn man nicht so viel mit Statuscodes & Headerinformationen arbeiten muss .

                      Ps. Guzzle 3.9 benötigt nur PHP 5.3.3. Aber war mir wie gesagt zu groß . Die Meisten die das Plugin nutzen werden haben wohl kleine Webspaces und da wollte ich die 7 MB keinesfalls sprengen.

                      Kommentar


                      • #12
                        Und was hält dich davon ab die dependencies auf 0 byte zu reduzieren und curl zu nutzen, das heute auf nahezu jedem PHP Hosting installiert ist ?
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Wenn jemandem die paar € für ein GB Speicher zu viel sind sollte er den Computer für einige Tage ausschalten, dann hat er das Geld eingespart und nun zur Verfügung .
                          GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

                          Kommentar


                          • #14
                            Hallöchen,

                            Zitat von Curcio Beitrag anzeigen
                            ich habe mittlerweile einen HTTP Client aus 2003 gefunden & soweit auf den Stand der Dinge gebracht der nun alle Ansprüche erfüllt - war eine schwere Geburt . Snoopy kannte ich auch schon, ist ein super Client, wenn man nicht so viel mit Statuscodes & Headerinformationen arbeiten muss .
                            Die Energie hättest du definitiv sinnvoller investieren können.

                            Zitat von Curcio Beitrag anzeigen
                            Ps. Guzzle 3.9 benötigt nur PHP 5.3.3.
                            In deiner Konsolenausgabe wurde ja auch guzzlehttp/ringphp angemeckert. Und laut Beschreibung braucht dieses Paket nun mal PHP 5.4. Steht so ja auch eindeutig in deinem Screenshot geschrieben.

                            Zitat von Curcio Beitrag anzeigen
                            Aber war mir wie gesagt zu groß
                            Ist ja auch ok. Das Argument macht nur keinen Sinn.

                            Zitat von Curcio Beitrag anzeigen
                            Die Meisten die das Plugin nutzen werden haben wohl kleine Webspaces und da wollte ich die 7 MB keinesfalls sprengen.
                            Bei uberspace bekommst du 10GB Speicherplatz für 1€/mtl. - fairerweise sollte man aber mindestens 5€ bezahlen. Dort darfst du den Preis nämlich selbst bestimmen.

                            Nicht böse gemeint, aber dieses leidige Webhoster-Argument geht mir allmählich auf die Nerven. Immer wieder werden unbegründete & sinnfreie Argumente darauf abgewälzt, dabei bekommt man heutzutage wirklich alles hinterher geworfen.

                            Viele Grüße,
                            lotti

                            Kommentar


                            • #15
                              Zitat von tr0y Beitrag anzeigen
                              Und was hält dich davon ab die dependencies auf 0 byte zu reduzieren und curl zu nutzen, das heute auf nahezu jedem PHP Hosting installiert ist ?
                              Hätte ich gemacht wenn FollowLocation in Curl nicht bei >80 % der Hostern verboten wäre (liegt glaube ich am PHP Safe mode).

                              Ich begrüße Projekte wie uberspace. Aber wenn man ein kostenloses Modul erstellt, dessen Clientel vorwiegend bei 1&1, Strato und Co angeworben wurde, muss man seine Anforderungen auch dementsprechend setzen.

                              Ps. Ich hatte den Screenshot noch rauseditiert, als ich rausgefunden hatte, wie man das CMD Fenster vergrößert, weil ich die PHP Versionsthematik dann auch verstanden hatte .

                              Kommentar

                              Lädt...
                              X