Početna stranicaPortalFAQPretraľnikRegistracijaLogin

Share | 
 

 PHP: Hypertext Preprocessor

Prethodna tema Sljedeća tema Go down 
Autor/icaPoruka
userNejm
Pračovjek


Male
Leo Rooster
Broj postova : 3398
Age : 23
Location : Mars
Registration date : 01.10.2007

PostajNaslov: PHP: Hypertext Preprocessor   uto oľu 18, 2008 10:12 pm

Počeo sam se zanimati za PHP, znam malo, ali ide polako.
Imate li neke savjete o redoslijedu učenja? (prvo nešto jednostavno, pa malo kompliciranije ili sve zajedno?) face

i pitanje o mod_rewrite-u:
to ide u .htaccess, jel tako?

i što bih trebao upisati da mi se ovome 'http://localhost/PHP-vjezbe/Web.Admin/index.php?modul=neki' može pristupiti pomoću 'http://localhost/PHP-vjezbe/Web.Admin/Modul/Neki' drunken

i tako... kava
[Vrh] Go down
fastforward
Riba


Male
Aquarius Buffalo
Broj postova : 119
Age : 30
Location : Rijeka
Registration date : 14.06.2008

PostajNaslov: Re: PHP: Hypertext Preprocessor   sub lip 14, 2008 1:03 pm

Ovisi sta trebas al obicno ti se to radi tako da redirektas sve http requestove na index.php ili ti ga takozvani bootstrap koji kasnije loadira page.

Da to ti je apacheov mod_rewrite i da .htaccess :)

Posto vidim ovo http://localhost/PHP-vjezbe/Web.Admin/
brijem da ti je web.admin zapravo root direktori tvoje web stranice.

napravis si index.php i .htaccess u rootu te web stranice i u njega dodas

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

sto bi bio jedan default primjer. moze i bolje od ovoga no ovo ti je sasvim dovoljno.

Tad si napravis funkciju koja exploda ( explode() ili split() ili preg_match() itd.. ) trenutacni uri ( $_SERVER['REQUEST_URI']; ) .

Tj. napravis si nesto slicno ovome. Evo ti jedna metoda ( funkcija ) pa probaj prokontat kak se sta radi

Kod:
      protected function elementBased()
      {
         $this->_workspaceurl = self::getWorkspaceUrl();
         
         # lets filter illegal elements a.k.a add them to workspaceelements
         $this->filterWorkspaceUrl();
         
         # lets get current elements
         $curi  = $_SERVER['REQUEST_URI'];
         
         $filtered = explode ( "/", $curi );
         
         # lets filter elements
         foreach ( $filtered as $elements )
         {
            if ( $elements )
            {
               if (! in_array ( $elements, $this->_workspaceelements ) )
               {
                  self::$uri[] = $elements;
               }
            }
         }
         
         # lets define current model
         # if current model doesn't exists!
         if (! self::$uri[self::$modelelement] )
         {
            self::$model = self::$defaultmodel;
         }
         elseif ( self::$uri[self::$modelelement] )
         {
            self::$model = self::$uri[self::$modelelement];
         }
         
         $model = self::$model;
         
         # lets set page conf model
         if (! $pageconf = self::$pagesconf -> $model )
         {
            throw new Corefeeder_Core_Errors( "ERROR_400" );
         }
         $pageconf = self::$pagesconf -> $model -> toArray();
         

         # model/group/view
         $view = self::$modelelement + 1;
         $subview = $view + 1;
         
         # model/group/subgroup/view
         $subview2 = $subview + 1;
         
         # model/group/view
         $try1 = @$pageconf[ self::$uri[$view] ][ self::$uri[$subview] ];
         
         # model/group/subgroup/view
         $try2 = @$pageconf[ self::$uri[$view] ][ self::$uri[$subview] ][ self::$uri[$subview2] ];
         
         # lets define current view
         # firstly we need to check if current page settings have subgroups.
         #$pageconf = self::$pagesconf -> $model;
         
         # try to avoid this lines below. You'll need time to figure it out if u re not experienced developer.
         if ( $try2 )
         {
            self::$view = array(
               "group"    => self::$uri[$view],
               "subgroup" => self::$uri[$subview],
               "view"    => self::$uri[$subview2]
            );
         }
         elseif ( !$try2 && $try1 )
         {
            self::$view = array(
               "group"    => self::$uri[$view],
               "subgroup" => false,
               "view"    => self::$uri[$subview]
            );
         }
         elseif ( !$try1 && !$try2 && self::$uri[$view])
         {
            self::$view = array(
               "group"    => self::DEFAULT_ELEMENT,
               "subgroup" => false,
               "view"    => self::$uri[$view]
            );
         }
         elseif ( !$try1 && !$try2 && !self::$uri[$view] )
         {
            self::$view = array(
               "group"    => self::DEFAULT_ELEMENT,
               "subgroup" => false,
               "view"    => self::$defaultview
            );
         }
         
         
      }

pa imas

Kod:
      private function filterWorkspaceUrl()
      {
         $tmp = explode ( "/", $this->_workspaceurl );
         
         # reset workspace elements
         if ( $this->_workspaceelements )
         {
            $this->_workspaceelements = array();
         }
         
         # lets clean array from blank fields
         foreach ( $tmp as $elements )
         {
            if ( $elements )
            {
               $this->_workspaceelements[] = $elements;
            }
         }
         
         return $this->_workspaceelements;
      }

Uglavnom ovo ti je dovoljno za start :D

Ima bugova al svejedno zajebavaj se hehe :) Postoje i bolje stvari tako da pregmatchas regular expressionima i da radis sa Array klasama no to je advanced do kraja za tebe. I ovo je previse a kamo li re. :D
[Vrh] Go down
Aleksandar Veliki
Čovjek


Male
Pisces Monkey
Broj postova : 6274
Age : 108
Location : E11T
Registration date : 20.09.2007

PostajNaslov: Re: PHP: Hypertext Preprocessor   sub lip 14, 2008 2:29 pm

Pozdrav fastforvard :D
[Vrh] Go down
userNejm
Pračovjek


Male
Leo Rooster
Broj postova : 3398
Age : 23
Location : Mars
Registration date : 01.10.2007

PostajNaslov: Re: PHP: Hypertext Preprocessor   uto pro 23, 2008 5:06 pm

polako pokušavam shvatiti OOP način programiranja, te sam napravio "primitivni" primjer.
Kod:

<?php
class covjek{
        var $ime;
        var $prezime;
        var $datumRodjenja; // GGGG-DD-MM
        var $spol; // 0 - Muški, 1 - Ženski
        var $stanje; // 0 - Mrtav , 1 - Živ
       
        function ime($ime,$prezime){
            $this->ime = $ime;
            $this->prezime = $prezime;
        }
       
        function datumRodjenja($datum){
            $this->datumRodjenja = $datum;
        }
       
        function datumRodjenjaPrikaz(){
            $datum = $this->datumRodjenja;
            $temp = explode ("-",$datum);
            echo $temp[1] . ". " . $temp[2] . ". " . $temp[0] . ".";
        }
       
        function spol($spol){
            $this->spol = $spol;
        }
       
        function stanje($stanje){
            $this->stanje = $stanje;
        }
       
        function stanjeIspis($info){
            if ($info == "0"){
                if ($this->spol == "0") { echo "Mrtav"; } elseif ($this->spol == "1") { echo "Mrtva"; } else { echo "Mrtvo (nedefiniran spol)"; }
            } elseif ($info == "1"){
                if ($this->spol == "0") { echo "Živ"; } elseif ($this->spol == "1") { echo "Živa"; } else { echo "Živ/a (nedefiniran spol)"; }
            }
        }
       
        function spolIspis($info){
            if ($info == "0"){
                echo "Muški";
            } elseif ($info == "1") {
                    echo "Ženski";
            } else {
                echo "Nedefiniran";
            }
        }
       
        function osobnaKarta(){
            echo "<table border=1 style=\"float:left; margin: 3px;\">";
            echo "<tr>";
            echo "<td>Ime:</td>";
            echo "<td>" . $this->ime . "</td>";
            echo "</tr>";
            echo "<tr>";
            echo "<td>Prezime:</td>";
            echo "<td>" . $this->prezime . "</td>";
            echo "</tr>";
            echo "<tr>";
            echo "<td>Datum rođenja:</td>";
            echo "<td>";
            $this->datumRodjenjaPrikaz();
            echo "</td>";
            echo "</tr>";
            echo "<tr>";
            echo "<td>Spol:</td>";
            echo "<td>";
            $this->spolIspis($this->spol);
            echo "</td>";
            echo "</tr>";
            echo "<tr>";
            echo "<td>Stanje:</td>";
            echo "<td>";
            $this->stanjeIspis($this->stanje);
            echo "</td>";
            echo "</tr>";
            echo "</table>";
        }
    }


    $mujo = new covjek;
    $mujo->ime("Mujo","Mujic");
    $mujo->datumRodjenja("1976-21-12");
    $mujo->spol(0);
    $mujo->stanje(1);
    $mujo->osobnaKarta();
?>


fastforward, možeš li mi reći jesam li to dobro shvatio.
Spoiler:
 
[Vrh] Go down
userNejm
Pračovjek


Male
Leo Rooster
Broj postova : 3398
Age : 23
Location : Mars
Registration date : 01.10.2007

PostajNaslov: Re: PHP: Hypertext Preprocessor   čet sij 01, 2009 6:41 pm

svim php programerima želim
Kod:

<?php
    $vrijeme = date("Y-m-d");
    $vrijeme_temp = explode('-',$vrijeme);
    $vrijeme = $vrijeme_temp["0"];
   
    if ($vrijeme_temp["1"] == "01" && $vrijeme_temp["2"] == "01"){
        echo "Sretna vam Nova " . $vrijeme . ".";
    } else {
        echo "Nije Nova godina";
    }
?>

Spoiler:
 
[Vrh] Go down
Sponsored content




PostajNaslov: Re: PHP: Hypertext Preprocessor   Today at 5:19 pm

[Vrh] Go down
 
PHP: Hypertext Preprocessor
Prethodna tema Sljedeća tema [Vrh] 
Stranica 1 / 1.

Permissions in this forum:Ne moľeą odgovarati na postove.
 ::  Svijet oko nas :: Informatička tehnologija-
Forum(o)Bir: