Wie verwendet man PEAR und warum muss man es installieren ?

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

  • Wie verwendet man PEAR und warum muss man es installieren ?

    Guten Tag,

    Habe gerade über die pear.bat PEAR installiert.
    Nun frage ich mich warum man das überhaupt installieren muss ?
    PEAR ist doch eine Sammlung von Klassen oder?

    Wie kann man diese nun verwenden ?

    Muss ich da irgendwelche Klassen in einen Order meines Projektes hineinkopieren ? Wer könnte mir freundlicherweise mal in ein paar Sätzen erklären was ich nun tun muss um die table.class zu verwenden, die in folgendem Tutorial benutzt wird:

    http://www.phpbuilder.com/columns/nortrup20030818.php3

    Kopiert man immer genau die Klasse aus dem php4/pear Verzeichnis die man benötigt in sein eigenes Projekt ? Wie ist das mit Vererbung?
    Woher weiß ich welche Klassen die Klasse sonst noch benötigt?

    Danke

  • #2
    Was die PEAR-Libary ist, brauch ich sicher nicht erklären.
    Zumindest erhebt Sie den Anspruch, nicht einfach nur eine Sammlung von Klassen, sondern eine Sammlung ausgewählter Klassen Funktionen zu sein, die es würdig sind, vom PHP-Entwickler/Nutzer als Erweiterung zu PHP betrachtet zu werden.

    Eigentlich funktioniert wie CPAN.org unter Perl.
    Das heisst, die Klasse wird mit
    Code:
    pear install <paketname>
    direkt vom pear.php.net - Server heruntergeladen und im /php/pear/ - Verzeichnis gespeichert und installiert.
    Du kannst also (meistens) gleich mit der Erstellung deiner Apps beginnen und die Klassen und Funktionen nutzen, ohne dich weiter um die Klasse (also das PEAR-Paket) selbst zu kümmern.

    Gute Infos findest Du im PHP Magazin Heft 02/04 und 03/04 (http://www.phpmag.de).
    Überhaupt informiert das Magazin meiner Meinung nach ziemlich gut über PEAR und PEAR-Pakete.

    Ein guter Anfang ist vielleicht das Web-Frontend-Paket für PEAR.
    Damit kannst du nämlich PEAR und die Pakete auch über den Browser verwalten. Nach der Installation einfach nur die example.php in dein htdocs und alles läuft.
    Da es noch ein Beta-Paket ist, schau mal hier...

    Kommentar


    • #3
      Du meinst dass man die Klassen so verwenden kann, also ob sie sich in dem eigenen Projektorder befände?

      Einfach einbinden, oder?

      Hatte folgendes Beispiel gefunden:
      http://www.phpbuilder.com/columns/no...18.php3?page=2

      PHP-Code:
      //get our query
      $connection mysql_connect("localhost""me""test");
      $sql "SELECT * FROM contacts";
      $result mysql_query($sql$connection);

      //include the class
      require_once("/HTML/Table.php");

      //set table attributes
      $attributes = array("width"=>"100%""border"=>"1");

      //create the table class
      $table = new HTML_Table($attributes);

      //build our first row
      $contents = array("Name""E-Mail""Phone Number");
      $attributes = array("bgcolor" "#336699");
      $table->addRow($contents$attributes"TH");

      //loop through and add our data
      $attributes = array("bgcolor"="#COCOCO");

      while(
      $row mysql_fetch_array($result)) {
          
      $contents = array($row['name_f'], $row['email'], $row['phone']);
          
      $table->addRow($contents$attributes);
      }

      $table->display(); 

      Bekomme dieses aber nicht zum laufen.

      Ständig kommt folgende Fehlermeldung:

      Parse error: parse error, unexpected '=', expecting ')' in D:\new\test-table.php on line 18

      line 18 wäre folgende Zeile
      $attributes = array("bgcolor" = "#336699");

      Dort sieht aber alles normal aus.

      Wer kann helfen?

      Die PEAR table.php Klasse wurde oben so eingebunden:
      require_once("/HTML/Table.php");

      Habe mal im PEAR Verzeichnis nachgeschaut, dieses Verzeichnis aber nicht gefunden. Wo soll das sein ?

      Danke

      Kommentar


      • #4
        line 18: $attributes = array("bgcolor" = "#336699");
        muss so aussehen
        PHP-Code:
        $attributes = array("bgcolor" => "#336699"); 
        also mit =>

        Die Vermutung mit der Einbindung ist richtig.

        Kommentar


        • #5
          Danke für die nette Hilfe!!!!!!!!!!

          Nun aber das Problem, von welchem ich hoffe es würde nicht auftreten.

          Warning: main(/HTML/Table.php): failed to open stream: No such file or directory in D:\new\test-table.php on line 8

          Fatal error: main(): Failed opening required '/HTML/Table.php' (include_path='.;C:\php4\pear') in D:\new\test-table.php on line 8

          Oh Mann

          Unten in der php.ini wurde aber folgendes hinzugefügt:

          ;***** Added by go-pear
          include_path=".;C:\php4\pear;"
          ;*****

          Kommentar


          • #6
            Original geschrieben von compuboy1010
            Warning: main(/HTML/Table.php): failed to open stream: No such file or directory in D:\new\test-table.php on line 8
            falsch:
            PHP-Code:
            require_once("/HTML/Table.php"); 
            richtig:
            PHP-Code:
            require_once("HTML/Table.php"); 

            Kommentar


            • #7
              Habe es abgeändert und den Slash am Anfang weggelassen. Rate mal was kommt :

              Warning: main(HTML/Table.php): failed to open stream: No such file or directory in D:\new\test-table.php on line 8

              Fatal error: main(): Failed opening required 'HTML/Table.php' (include_path='.;C:\php4\pear') in D:\new\test-table.php on line 8

              Kommentar


              • #8
                wenn die fehlermeldung in D:/new/ auftritt, müsste sich die datei also unter D:/new/HTML/Table.php (oder eben C:/php4/pear/HTML/Table.php) befinden - ist sie dort?

                (und im zweiten fall, hat dein webserver darauf überhaupt zugriff?)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von compuboy1010
                  [B]Habe es abgeändert und den Slash am Anfang weggelassen. Rate mal was kommt :
                  Dann hast Du PEAR falsch installiert. Der "PEAR-Baum" muß sich bei Dir in C:\php4\pear befinden. Dort wird er gesucht aber nicht gefunden.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    wenn die fehlermeldung in D:/new/ auftritt, müsste sich die datei also unter D:/new/HTML/Table.php (oder eben C:/php4/pear/HTML/Table.php) befinden - ist sie dort?

                    (und im zweiten fall, hat dein webserver darauf überhaupt zugriff?)
                    Weder noch! Es gibt auch kein Verzeichnis HTML unter c:\php4\pear

                    Habe aber alles so installiert wie es unter go-pear.bat gefragt wurde.

                    Was habe ich nur falsch gemacht ?
                    Habe auf das go-pear.bat geklickt unseren firmeninternetn Proxy und angegeben dann immer mit yes bestätigt. Dann wurde auch noch etwas heruntergeladen.

                    Was habe ich denn da falsch machen können ?

                    Hilfe ....
                    Zuletzt geändert von compuboy1010; 26.03.2004, 13:38.

                    Kommentar


                    • #11
                      Original geschrieben von compuboy1010
                      Es gibt auch kein Verzeichnis HTML unter c:\php4\pear
                      go-pear.bat installiert nicht das komplette PEAR. Du wirst also das, was Du zusätzlich noch benötigst, nachinstallieren müssen.

                      Windows: Die installierten Pakete kannst Du Dir so auflisten lassen (Pfade anpassen):
                      Code:
                      c:\php\php.exe -C -q -d include_path=c:/php/Pear -d  output_buffering=1 c:/php/Pear/pearcmd.php list
                      Nachinstallieren müßte dann so gehen
                      Code:
                      c:\php\php.exe -C -q -d include_path=c:/php/Pear -d  output_buffering=1 c:/php/Pear/pearcmd.php install HTML_Table

                      Kommentar


                      • #12
                        Wenn ich eine dieser Zeilen eingebe kommt nur:

                        Das System kann den angegebenen Pfad nicht finden.

                        Ich brech zusammen.

                        Kann man nicht ALLES installieren ? Also alles was zu einem bestimmten Zeitpunkt verfügbar ist?

                        Danke
                        Zuletzt geändert von compuboy1010; 26.03.2004, 13:45.

                        Kommentar


                        • #13
                          Original geschrieben von compuboy1010
                          Wenn ich eine dieser Zeilen eingebe kommt nur:

                          Das System kann den angegebenen Pfad nicht finden.
                          Ich schrieb: (Pfade anpassen)

                          Kann man nicht ALLES installieren ?
                          Man kann, wenn man kann. Unter Linux verwende ich dazu ein Shellscript, welches die Pakete nachinstalliert, die ich meist benötige.

                          Kommentar


                          • #14
                            Nein, nein.

                            Die Pfade stimmen schon so wie du sie geschrieben hattest.
                            Klaptt aber nicht.

                            Jetzt beginne ich mich aber zu fragen warum man PEAR nutzen sollte.
                            Woher will ich wissen, ob meine Webspace Provider ebenfalls diese PEAR Klassen installiert hat?

                            Kommentar


                            • #15
                              Original geschrieben von compuboy1010
                              >Die Pfade stimmen schon so wie du sie geschrieben hattest. Klaptt aber nicht.

                              Das geht. Warum es allerdings bei Dir nicht geht, entzieht sich meiner Kenntnis. Hellsehen kann ich auch tagsüber ganz schlecht.

                              >Jetzt beginne ich mich aber zu fragen warum man PEAR nutzen sollte.

                              Man soll nicht. Man will es, wenn man keine Lust hat, jedes Mal das Fahrrad neu zu erfinden.

                              >Woher will ich wissen, ob meine Webspace Provider ebenfalls diese PEAR Klassen installiert hat?

                              Fragen. Und wenn der unwillig ist: Provider wechseln. Es gibt genug und satt davon...

                              Kommentar

                              Lädt...
                              X