zend, codeigniter, laravel, symfony 你地會選那一個?

提示: 作者被禁止或刪除 內容自動屏蔽

本帖最後由 hihihi123hk 於 2015-12-9 16:48 編輯

回覆 1# undplayer



打工 、公司 Project 一定係員工 Skill set 行先

如果自己有得揀,個人覺得寫 Strong type 一定會學得開心啲同埋學得快啲 (因為 IDE 無論係 Read Sample project / Write own code 都幫到好多忙)

TOP

本帖最後由 044003 於 2015-12-9 16:41 編輯

/_\有冇d容易d學既framework
全部都係mvc

TOP

本帖最後由 carlkyo 於 2015-12-9 22:11 編輯
/_\有冇d容易d學既framework
全部都係mvc
044003 發表於 2015-12-9 16:39



    寫個crud既class去處理所有tables
再加DT都幾好
  1. class Database{
  2.         /*
  3.          * Create variables for credentials to MySQL database
  4.          * The variables have been declared as private. This
  5.          * means that they will only be available with the
  6.          * Database class
  7.          */
  8.         private $db_host = "localhost";  // Change as required
  9.         private $db_user = "user";  // Change as required
  10.         private $db_pass = "password";  // Change as required
  11.         private $db_name = "database";        // Change as required
  12.        
  13.         /*
  14.          * Extra variables that are required by other function such as boolean con variable
  15.          */
  16.         private $con = false; // Check to see if the connection is active
  17.         private $result = array(); // Any results from a query will be stored here
  18.     private $myQuery = "";// used for debugging process with SQL return
  19.     private $numResults = "";// used for returning the number of rows
  20.        
  21.         // Function to make connection to database
  22.         public function connect(){
  23.                 if(!$this->con){
  24.                         $myconn = @mysql_connect($this->db_host,$this->db_user,$this->db_pass);  // mysql_connect() with variables defined at the start of Database class
  25.             if($myconn){
  26.                     $seldb = @mysql_select_db($this->db_name,$myconn); // Credentials have been pass through mysql_connect() now select the database
  27.                 if($seldb){
  28.                         $this->con = true;
  29.                     return true;  // Connection has been made return TRUE
  30.                 }else{
  31.                         array_push($this->result,mysql_error());
  32.                     return false;  // Problem selecting database return FALSE
  33.                 }  
  34.             }else{
  35.                     array_push($this->result,mysql_error());
  36.                 return false; // Problem connecting return FALSE
  37.             }  
  38.         }else{  
  39.             return true; // Connection has already been made return TRUE
  40.         }         
  41.         }
  42.        
  43.         // Function to disconnect from the database
  44.     public function disconnect(){
  45.             // If there is a connection to the database
  46.             if($this->con){
  47.                     // We have found a connection, try to close it
  48.                     if(@mysql_close()){
  49.                             // We have successfully closed the connection, set the connection variable to false
  50.                             $this->con = false;
  51.                                 // Return true tjat we have closed the connection
  52.                                 return true;
  53.                         }else{
  54.                                 // We could not close the connection, return false
  55.                                 return false;
  56.                         }
  57.                 }
  58.     }
  59.        
  60.         public function sql($sql){
  61.                 $query = @mysql_query($sql);
  62.         $this->myQuery = $sql; // Pass back the SQL
  63.                 if($query){
  64.                         // If the query returns >= 1 assign the number of rows to numResults
  65.                         $this->numResults = mysql_num_rows($query);
  66.                         // Loop through the query results by the number of rows returned
  67.                         for($i = 0; $i < $this->numResults; $i++){
  68.                                 $r = mysql_fetch_array($query);
  69.                        $key = array_keys($r);
  70.                        for($x = 0; $x < count($key); $x++){
  71.                                // Sanitizes keys so only alphavalues are allowed
  72.                            if(!is_int($key[$x])){
  73.                                    if(mysql_num_rows($query) >= 1){
  74.                                            $this->result[$i][$key[$x]] = $r[$key[$x]];
  75.                                                 }else{
  76.                                                         $this->result = null;
  77.                                                 }
  78.                                         }
  79.                                 }
  80.                         }
  81.                         return true; // Query was successful
  82.                 }else{
  83.                         array_push($this->result,mysql_error());
  84.                         return false; // No rows where returned
  85.                 }
  86.         }
  87.        
  88.         // Function to SELECT from the database
  89.         public function select($table, $rows = '*', $join = null, $where = null, $order = null, $limit = null){
  90.                 // Create query from the variables passed to the function
  91.                 $q = 'SELECT '.$rows.' FROM '.$table;
  92.                 if($join != null){
  93.                         $q .= ' JOIN '.$join;
  94.                 }
  95.         if($where != null){
  96.                 $q .= ' WHERE '.$where;
  97.                 }
  98.         if($order != null){
  99.             $q .= ' ORDER BY '.$order;
  100.                 }
  101.         if($limit != null){
  102.             $q .= ' LIMIT '.$limit;
  103.         }
  104.         $this->myQuery = $q; // Pass back the SQL
  105.                 // Check to see if the table exists
  106.         if($this->tableExists($table)){
  107.                 // The table exists, run the query
  108.                 $query = @mysql_query($q);
  109.                         if($query){
  110.                                 // If the query returns >= 1 assign the number of rows to numResults
  111.                                 $this->numResults = mysql_num_rows($query);
  112.                                 // Loop through the query results by the number of rows returned
  113.                                 for($i = 0; $i < $this->numResults; $i++){
  114.                                         $r = mysql_fetch_array($query);
  115.                         $key = array_keys($r);
  116.                         for($x = 0; $x < count($key); $x++){
  117.                                 // Sanitizes keys so only alphavalues are allowed
  118.                             if(!is_int($key[$x])){
  119.                                     if(mysql_num_rows($query) >= 1){
  120.                                             $this->result[$i][$key[$x]] = $r[$key[$x]];
  121.                                                         }else{
  122.                                                                 $this->result = null;
  123.                                                         }
  124.                                                 }
  125.                                         }
  126.                                 }
  127.                                 return true; // Query was successful
  128.                         }else{
  129.                                 array_push($this->result,mysql_error());
  130.                                 return false; // No rows where returned
  131.                         }
  132.               }else{
  133.                       return false; // Table does not exist
  134.             }
  135.     }
  136.        
  137.         // Function to insert into the database
  138.     public function insert($table,$params=array()){
  139.             // Check to see if the table exists
  140.              if($this->tableExists($table)){
  141.                      $sql='INSERT INTO `'.$table.'` (`'.implode('`, `',array_keys($params)).'`) VALUES ("' . implode('", "', $params) . '")';
  142.             $this->myQuery = $sql; // Pass back the SQL
  143.             // Make the query to insert to the database
  144.             if($ins = @mysql_query($sql)){
  145.                     array_push($this->result,mysql_insert_id());
  146.                 return true; // The data has been inserted
  147.             }else{
  148.                     array_push($this->result,mysql_error());
  149.                 return false; // The data has not been inserted
  150.             }
  151.         }else{
  152.                 return false; // Table does not exist
  153.         }
  154.     }
  155.        
  156.         //Function to delete table or row(s) from database
  157.     public function delete($table,$where = null){
  158.             // Check to see if table exists
  159.              if($this->tableExists($table)){
  160.                      // The table exists check to see if we are deleting rows or table
  161.                      if($where == null){
  162.                 $delete = 'DROP TABLE '.$table; // Create query to delete table
  163.             }else{
  164.                 $delete = 'DELETE FROM '.$table.' WHERE '.$where; // Create query to delete rows
  165.             }
  166.             // Submit query to database
  167.             if($del = @mysql_query($delete)){
  168.                     array_push($this->result,mysql_affected_rows());
  169.                 $this->myQuery = $delete; // Pass back the SQL
  170.                 return true; // The query exectued correctly
  171.             }else{
  172.                     array_push($this->result,mysql_error());
  173.                        return false; // The query did not execute correctly
  174.             }
  175.         }else{
  176.             return false; // The table does not exist
  177.         }
  178.     }
  179.        
  180.         // Function to update row in database
  181.     public function update($table,$params=array(),$where){
  182.             // Check to see if table exists
  183.             if($this->tableExists($table)){
  184.                     // Create Array to hold all the columns to update
  185.             $args=array();
  186.                         foreach($params as $field=>$value){
  187.                                 // Seperate each column out with it's corresponding value
  188.                                 $args[]=$field.'="'.$value.'"';
  189.                         }
  190.                         // Create the query
  191.                         $sql='UPDATE '.$table.' SET '.implode(',',$args).' WHERE '.$where;
  192.                         // Make query to database
  193.             $this->myQuery = $sql; // Pass back the SQL
  194.             if($query = @mysql_query($sql)){
  195.                     array_push($this->result,mysql_affected_rows());
  196.                     return true; // Update has been successful
  197.             }else{
  198.                     array_push($this->result,mysql_error());
  199.                 return false; // Update has not been successful
  200.             }
  201.         }else{
  202.             return false; // The table does not exist
  203.         }
  204.     }
  205.        
  206.         // Private function to check if table exists for use with queries
  207.         private function tableExists($table){
  208.                 $tablesInDb = @mysql_query('SHOW TABLES FROM '.$this->db_name.' LIKE "'.$table.'"');
  209.         if($tablesInDb){
  210.                 if(mysql_num_rows($tablesInDb)==1){
  211.                 return true; // The table exists
  212.             }else{
  213.                     array_push($this->result,$table." does not exist in this database");
  214.                 return false; // The table does not exist
  215.             }
  216.         }
  217.     }
  218.        
  219.         // Public function to return the data to the user
  220.     public function getResult(){
  221.         $val = $this->result;
  222.         $this->result = array();
  223.         return $val;
  224.     }
  225.     //Pass the SQL back for debugging
  226.     public function getSql(){
  227.         $val = $this->myQuery;
  228.         $this->myQuery = array();
  229.         return $val;
  230.     }
  231.     //Pass the number of rows back
  232.     public function numRows(){
  233.         $val = $this->numResults;
  234.         $this->numResults = array();
  235.         return $val;
  236.     }
  237.     // Escape your string
  238.     public function escapeString($data){
  239.         return mysql_real_escape_string($data);
  240.     }
  241. }
複製代碼

TOP

寫個crud既class去處理所有tables
再加DT都幾好
carlkyo 發表於 2015-12-9 22:07

如果剩係做crud..做乜唔scaffold....

TOP

/_\有冇d容易d學既framework
全部都係mvc
044003 發表於 2015-12-9 16:39

MVC其實係多餘.. 懶係好... 其實就慢到hihi... 特別係有ORM果D(大多數).. 低能到爆.. ~_~"
當然可以為左(好似係)良好design/structure 而放棄performance... 唔夠快就加多兩部機. ^_^

TOP

如果for 打工, 你地會選那一個?
undplayer 發表於 2015-12-9 13:39

呢幾隻都用過... laravel係比較好..

TOP

codeigniter 比較簡單,行得快

TOP

laravel

TOP

/_\有冇d容易d學既framework
全部都係mvc
044003 發表於 2015-12-9 16:39


有見識下無用mv**的framework 係點樣

TOP