Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP - Ein Layout per "function"?!

Einklappen

Google Responsive Ad

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

  • #16
    AW: PHP - Ein Layout per "function"?!

    Weißt du eigentlich, von was du sprichst? Ich meine nicht.

    Diese Sache kann zum Beispiel sehr komfortabel sein, wenn man die Dateien nicht inkludieren will (was ja sehr aufwändig ist aus Parsersicht), aber zum Beispiel auf den Seiten etwa auf die IP-Adresse zugreifen will, um sie anzuzeigen.
    Zuletzt geändert von 0xCOFFEE; 25.02.2012, 10:20. Grund: Doppelposting
    <?php foreach (array(40,95,41,176) as $n) echo chr($n); ?>
    Zitat von Blues
    Im Ernst, so eine dämliche Aussage ist sogar für dieses Forum herrausragend.

    Kommentar


    • #17
      AW: PHP - Ein Layout per &quot;function&quot;?!

      Zitat von 0xCOFFEE Beitrag anzeigen
      ...(was ja sehr aufwändig ist aus Parsersicht), ...
      Gibt es hierfür vielleicht irgendwo eine Tabelle, die einem aufzeigt, welche Verfahren, wieviel Rechenzeit in Anspruch nehmen, bzw. was man eher vermeiden sollte?

      -In einer Datei gibt es ja viele Sachen, verschachtelte Sprachen (z.B. html, dann php, dann html, dann wieder etc.) Also ständiges Parsen.
      -Includes
      -Verlinkte Bilder mit vollem Link (ohne relative, sondern mit ganzer http-Angabe)
      -Anzahl der CSS-Dateien
      -mySQL in Verbindung mit PHP-Schleifen.
      -Icons als Iconset einfügen, statt Einzelbilder.
      -serverübergreifende Quellen.


      Gibt es da vielleicht irgendwo Quellen, die einem das erläutern, was man am besten machen kann?
      Zuletzt geändert von humanity; 25.02.2012, 11:59.
      laufendes Projekt: Filme, TV und digitale Unterhaltung - Film am Schirm

      Kommentar


      • #18
        AW: PHP - Ein Layout per &quot;function&quot;?!

        Das ist eine gute Frage, diese Seite fand ich in der Vergangenheit sehr nützlich:

        http://phpperformance.de/php-dateien...pts-einbinden/
        <?php foreach (array(40,95,41,176) as $n) echo chr($n); ?>
        Zitat von Blues
        Im Ernst, so eine dämliche Aussage ist sogar für dieses Forum herrausragend.

        Kommentar


        • #19
          AW: PHP - Ein Layout per &quot;function&quot;?!

          Weißt du eigentlich, von was du sprichst? Ich meine nicht.
          Ja, ich denke ich weiß, wovon ich spreche, weil ich seit sieben Jahren Webentwickler bin.

          wenn man die Dateien nicht inkludieren will (was ja sehr aufwändig ist aus Parsersicht)
          So kann man keine Applikationen entwickeln.

          aber zum Beispiel auf den Seiten etwa auf die IP-Adresse zugreifen will, um sie anzuzeigen.
          Was hat das eine mit dem anderen zu tun?
          ... Meine Meinung

          Kommentar


          • #20
            AW: PHP - Ein Layout per &quot;function&quot;?!

            Es geht hier auch nicht um „Applikationen“.

            Es geht hier um halbstatische Webseiten.
            <?php foreach (array(40,95,41,176) as $n) echo chr($n); ?>
            Zitat von Blues
            Im Ernst, so eine dämliche Aussage ist sogar für dieses Forum herrausragend.

            Kommentar


            • #21
              AW: PHP - Ein Layout per &quot;function&quot;?!

              Es geht hier um halbstatische Webseiten.
              Selbst da ist es Murks, so, wie Du das beschreibst, zu entwickeln.. Jemand, der auf diese Art und Weise entwickeln würde, ist i. d. R. mit einem cms besser beraten.
              ... Meine Meinung

              Kommentar


              • #22
                AW: PHP - Ein Layout per &quot;function&quot;?!

                Zitat von xm22 Beitrag anzeigen
                Du kannst doch aber nicht alle Funktionalität in eine index.php packen..?!
                tada

                PHP-Code:
                <?php

                class template
                {
                    public 
                $sTemplate;
                    public 
                $sDefaultTemplate;
                    public 
                $aReplacements;

                    public function 
                __construct($pageTitle)
                    {
                        
                $this->sDefaultTemplate 'layout.html';
                        
                $this->aReplacements = array();
                        
                $this->aReplacements['title'] = $pageTitle;
                        
                $this->aReplacements['info'] = array();
                        
                $this->sTemplate file_get_contents('template/'.$this->sDefaultTemplate);
                    }

                    
                /**
                     * set()
                     * fill the array with string data
                     */
                    
                public function set($sSearchtag$sReplacement)
                    {
                      switch(
                $sSearchtag)
                      {
                        case 
                'info':
                          
                array_push($this->aReplacements[$sSearchtag], $sReplacement);
                          break;
                        default:
                          
                $this->aReplacements[$sSearchtag] = $sReplacement;
                          break;
                      }
                    }

                    
                /**
                     * get()
                     * return the requested string data if available
                     */
                    
                public function get($sSearchtag)
                    {
                        if(isset(
                $this->aReplacements[$sSearchtag]))
                        {
                            return 
                $this->aReplacements[$sSearchtag];
                        }
                        return 
                false;
                    }

                    
                /**
                     * reset()
                     * flushes the replace-array
                     */
                    
                public function reset()
                    {
                        unset(
                $this->aReplacements);
                        
                $this->aReplacements = array();
                    }

                    
                /**
                     * setLayout()
                     * defines the templatefile
                     */
                    
                public function setLayout($tplfile)
                    {
                        if(
                file_exists('template/'.$tplfile))
                        {
                            
                $this->sTemplate file_get_contents('template/'.$tplfile);
                            return 
                true;
                        }
                        return 
                false;
                    }

                    
                /**
                     * resetLayout()
                     * defines the defaultfile as templatefile
                     */
                    
                public function resetLayout()
                    {
                        
                $this->setLayout($this->sDefaultTemplate);
                    }

                    
                /**
                     * generate()
                     * replace the template while using the replace-array (filled up using set method)
                     * with the given data and returns or print the result
                     */
                    
                public function generate($return false)
                    {
                        if(
                count($this->aReplacements) > 0)
                        {
                            foreach(
                $this->aReplacements as $sSearchtag => $sReplacement)
                            {
                              if(
                $sSearchtag == 'info' AND count($sReplacement) > 0)
                              {
                                
                $sInfoMessages '<div id="infobox">';
                                foreach(
                $sReplacement as $sInfoSearchtag => $sInfoReplacement)
                                {
                                  
                $sInfoMessages .= '<p class="info elem'.$sInfoSearchtag.'">'.$sInfoReplacement.'</p>';
                                }
                                
                $sInfoMessages .= '</div>';
                                
                $this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'$sInfoMessages$this->sTemplate);
                              }
                              else if(
                $sSearchtag == 'info')
                              {
                                
                $this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'''$this->sTemplate);
                              }
                              else if(! 
                is_array($sReplacement))
                              {
                                
                $this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'$sReplacement$this->sTemplate);
                              }
                            }
                        }

                        
                $sTemplate $this->sTemplate;
                        
                $this->resetLayout();

                        switch(
                $return)
                        {
                            case 
                false:
                                echo 
                $sTemplate;
                                return 
                true;
                                break;
                            default:
                                return 
                $sTemplate;
                                break;
                        }
                        return 
                false;
                    }
                }

                Kommentar


                • #23
                  AW: PHP - Ein Layout per &quot;function&quot;?!

                  Zitat:
                  Du kannst doch aber nicht alle Funktionalität in eine index.php packen..?!
                  tada
                  Wo ist da jetzt der Zusammenhang?
                  ... Meine Meinung

                  Kommentar


                  • #24
                    AW: PHP - Ein Layout per &quot;function&quot;?!

                    Das sollte darauf hinweisen, das nur weil man eine einfach tpl-engine nutzt man noch lange nicht gezwungen ist die ganze Funktionalität in eine Index zu packen

                    Kommentar

                    Lädt...
                    X