+ Reply to Thread
Results 1 to 10 of 10

Thread: PHP frameworky

  1. #1

    PHP frameworky

    Čau, chcel by som sa spýtať ako je to s PHP frameworkami. Aký používate? Používali ste a prestali a prečo? V čom má navrch nad ostatnými? Alebo či je to len o tom jeden si vybrať a robiť v tom čo som si vybral? Chcel by som začať v Nette, ale nepríde mi moc ideálny Našiel som aj na nete na neho dosť kydov, ale ľudia toho nakecajú
    Chcel by som vedieť či má zmysel si napísať niečo vlastné. Chcel by som to mať v HTML5, keďže tí smradi upustili od XHTML2, ale chcel by som to písať zároveň tak aby sa z toho dal jednoducho spraviť XML dokument a neviem aké výstupy generujú rôzne frameworky. Nechce sa mi učiť niečo, s čím by som potom nebol spokojný. Už tak sa toho musím naučiť dosť, keďže som sa tomu dlhšie nevenoval Mám pocit akoby všetky mnou používané funkcie boli od PHP5.3 deprecated
    Všetci chcú vaše dobro. Nedajte si ho vziať!!

  2. #2

    Re: PHP frameworky

    Ja som sa začal učiť v Zende, ale nebol som moc spokojný. Počul som veľmy dobré ohlasi na Symfony. Dosť sa prinom sklonovalo slovíčko najkomplexnejší framework všetkých čias. Momentálne ale nerobím v žiadnom frameworku lebo si myslím, že pre bežné aplikácie si stačí napísať svoj vlastný MVC. Nič veľké, úplne postačí keď sa celý MVC bude skladať s 3 súborov - model.php, controler.php a view.php.
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  3. #3

    Re: PHP frameworky

    No ako som tak na to pozeral, tak Nette sa mi zdá najlepší. Ale dík za reakciu - v poslednom čase si všímam, že okrem teba ako keby tu nik nebol Inak, tie tri súbory si mám ako predstaviť? Mohol by si sem dať nejaký príklad
    Všetci chcú vaše dobro. Nedajte si ho vziať!!

  4. #4

    Re: PHP frameworky

    No tak to bude tým, že sme tu len asi 5 stály a potom nejaký cezpolný ktorý potrebujú pomoc . No napríklad si to predstavujem takto, že model.php by mohol vypadať nejako takto.

    Code:
    <?php
    
    class db_model
    {
       private $hostname   = "";
       private $username   = "";
       private $password   = "";
       private $db_name   = "";
       private $charset      = "utf8";
       
       public $table         = "";
       protected static $instance   = 0;
       protected $connection;
       
       public function __construct()
       {
          $this->connect();
          
          if (!isset($this->table))
          {
             $this->chooseTable();
          }
       }
       
       protected function connect()
       {
          if (self::$instance === 0)
          {
             $this->connection = mysql_connect($this->hostname,$this->username,$this->password) or die("<center>Cannot connect to database</center>");
             mysql_query("SET CHARACTER SET utf8",$this->connection);
             self::$instance = 1;
          }
          
          $this->selectDatabase();
       }
       
       protected function disconnect()
       {
          mysql_close($this->connection);
          self::$instance = 0;
       }
       
       public function selectDatabase($name = NULL)
       {
          if ($name === NULL) $name = $this->db_name;
          mysql_select_db($name) or die("Cannot select database");
       }
       
       public function chooseTable($name = NULL)
       {
          if (!isset($name))
             $name = get_class($this);
          
          $this->table = $name;
       }
       
       public function fetchAll($where = NULL, $collums = "*", $sort_rule = NULL)
       {
          $i = 1;
          $result = array();
          
          $sql = "SELECT " . $this->selectCollums($collums) . " FROM " . $this->table . $this->where($where) . $this->sortResult($sort_rule);
          $query   = mysql_query($sql);
          
          while ($results = mysql_fetch_assoc($query))
          {
             foreach ($results as $key => $value)
             {
                $row[$key] = $value;
             }
             $result[$i] = $row;
             $i++;
          }
          mysql_free_result($query);
          return $result;
       }
       
       public function fetchBy($where, $collums = "*", $sort_rule = NULL)
       {
          $sql = "SELECT " . $this->selectCollums($collums) . " FROM " . $this->table . $this->where($where) . $this->sortResult($sort_rule);
          $query = mysql_query($sql);
          $result = mysql_fetch_assoc($query);
          mysql_free_result($query);
          return $result;
       }
       
       public function fetchById($id, $collums = "*", $sort_rule = NULL)
       {
          if (is_array($id))
          {
             return $this->fetchBy($id, $collums, $sort_rule);
          } else {
             return $this->fetchBy(array("id = '".$id."'"), $collums, $sort_rule);
          }
       }
       
    public function save($data)
       {
          
          foreach ($data as $key => $value)
          {
             $value = $this->clean($value);
             
             $keys[] = "`".$key."`";
             
             if (is_string($value))
             {
                $values[] = "'".$value."'";
             } elseif ($value == NULL)
             {
                $values[] = "NULL";
             } elseif (is_int($value) || is_float($value))
             {
                $values[] = $value;
             }
             
          }
          
          
          $insert_into       = implode(", ",$keys);
          $inserted_values   = implode(", ",$values);
          
          
          if (mysql_query($sql))
             return true;
          else
             return false;
       }
       
       public function update($data,$where)
       {
          foreach ($data as $key => $value)
          {
             $temp[] = "'".$key."'" . " = " . "'" . $this->clean($value) . "'";
          }
          $set = implode(", ",$temp);
          
          $sql = "UPDATE " . $this->table . " SET " . $set . " " . $this->where($where);
          
          if (mysql_query($sql))
             return true;
          else
             return false;
       }
       
       public function delete($where)
       {
          $sql = "DELETE FROM " . $this->table . $this->where($where) . " LIMIT 1";
          
          if (mysql_query($sql))
             return true;
          else
             return false;
       }
       
       public function count($where)
       {
          $sql = "SELECT * FROM " . $this->table . $this->where($where);
          $query = mysql_query($sql);
          $numberOfResults = 0;
          while ($result = mysql_fetch_array($query))
          {
             $numberOfResults++;
          }
          return $numberOfResults;
       }
       
       public function doQuery($sql)
       {
          return mysql_query($this->clean($sql));
       }
       
       private function sortResult($sort_rules)
       {
          if (is_array($sort_rules))
          {
             list($key, $rule) = $sort_rules;
             return " ORDER BY ".$key." ".$rule;
          } else return false;
       }
       
       private function where($fetch_rules)
       {
          if (isset($fetch_rules))
          {
             $condition = " WHERE";
             foreach ($fetch_rules as $rule)
             {
                $condition .= " ".$this->clean($rule);
             }
          }
          return $condition;
       }
       
       private function selectCollums($collums)
       {
          if (is_array($collums)) $collums = implode(", ",$collums);
          return $collums;
       }
       
       private function clean($string)
       {
          $hladane = array("DROP", "UNION", "--",);
          //$filter = str_ireplace($hladane, "*", $htmlentities($string));
          return $string;
       }
       
       private function setCharset($charset)
       {
          mysql_set_charset($charset, $this->connection);
       }
       
       public function __destruct()
       {
          $this->disconnect();
       }
    }
    ?>
    O controlery mám trochu pochybnosti lebo ešte stále som nenašiel tú správnu filozofiu jeho tvorby. Viewer si spravíš jednoducho, skrátka nejaké public metody ktoré budú printovať alebo echovať html a css výstupy.
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  5. #5

    Re: PHP frameworky

    OT
    Quote Originally Posted by Werewolf
    No tak to bude tým, že sme tu len asi 5 stály a potom nejaký cezpolný ktorý potrebujú pomoc . ...
    jj, bohuzel to tak bude. Nejak se sem lidi nehrnou no. Toz silna konkurence asi

  6. #6

    Re: PHP frameworky

    "Konkurencie"???? Aká ? Nie ja si skôr myslím, že mnoho programátorov má ten názor, že načo by som podporoval mladých programátorov ktorý mi v budúcnosti vytvárať konkurenciu na trhu. Je to trochu hyenistické ale je to tak. Apropo, čo sa deje s Yur4Y??
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  7. #7

    Re: PHP frameworky

    Myslím, že tá konkurencia skôr ako hyenizmus Sám chodím i na iné fóra, len viem, že t sú ľudia čo sa špárajú vo webe tak som sa chcel tu ozvať. A tak trochu som dúfal, že Yur4Y sa k tomuto vyjadrí, no škoda
    Všetci chcú vaše dobro. Nedajte si ho vziať!!

  8. #8

    Re: PHP frameworky

    OT
    treba http://forum.zive.cz/forum-922/Programovani.html . no nevim no. Snad to neni tim, ze by si lide nechteli pomahat. Kdyby to tak bylo, tak by nebyl zadny opensource

  9. #9

    Re: PHP frameworky

    <OT>Bohužel, ale právě programování není tak jednoduché jako třeba fórum o hrách, zaprvé jsme menší komunita a za druhé, pomoc někomu s výběrem hry je snažší než prostudovat nějaký kód a napsat řešení. </OT>

  10. #10

    Re: PHP frameworky

    Treba si však uvedomiť, že sme síce menšia komunita, ale zato si myslím, že omnoho pevnejšia a ucelenejšia. Poradiť niekomu, čo si má stiahnuť a zahrať je jednoduché, ale vypočuť si problém, vytvoriť riešenie a nezištne ho zaslať prakticky neznáemu človeku chce omnoho viac.
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts