За последние 24 часа нас посетили 52518 программистов и 1797 роботов. Сейчас ищут 795 программистов ...

стоит ли так использовать методи в class

Тема в разделе "PHP для новичков", создана пользователем 1Feniks1, 10 июн 2016.

Метки:
  1. 1Feniks1

    1Feniks1 Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    93
    Симпатии:
    1
    Здравствуйте!
    Вот изучаю уже несколько дней ООП и скажем так выработал такой стиль:
    PHP:
    1. class db_connect extends error{
    2.     private $_db;
    3.     function __construct($h,$l,$p,$n){
    4.         $this->_db=mysql_connect($h,$l,$p);
    5.         if(!$this->_db){
    6.             $this->error('EROR MYSQL CONNECT DATABASE');
    7.         }
    8.         if(!mysql_select_db($n,$this->_db)){
    9.             $this->error('ERROR SELECT DATABASE');
    10.         }
    11.         if(!mysql_query("SET NAMES UTF8")){
    12.             $this->error('ERROR CHARSET DATABASE');
    13.         }
    14.     }
    15.     public function filter($type='s',$str){
    16.         switch($type){
    17.             case's':
    18.                 $res=trim(strip_tags($str));
    19.                 break;
    20.             case'i':
    21.                 $res=(int)$str;
    22.                 break;
    23.         }return $res;
    24.     }
    25.     public function query($sql){
    26.         $this->_listError=$sql;
    27.         $res=mysql_query($sql,$this->_db);
    28.         if(!$res){
    29.             echo $this->error(mysql_error().'<br>SQL запрос: '.$sql);
    30.         }return $res;
    31.     }
    32.     public function sql_array($type='*',$table='',$method='',$where='',$values=''){
    33.         switch($type){
    34.             case'*':
    35.                 $res="SELECT * FROM $table ORDER BY id DESC";
    36.                 $res=$this->select($method,$res);
    37.                 break;
    38.             case'where':
    39.                 $res="SELECT * FROM $table WHERE $where='$values'";
    40.                 $res=$this->select($method,$res);
    41.                 break;
    42.             case'del':
    43.                 $res="DELETE FROM $table WHERE $method='$where'";
    44.                 $res=$this->query($res);
    45.                 break;
    46.         }
    47.         return $res;
    48.     }
    49.     public function select($method='a',$sql){
    50.         switch($method){
    51.             case'a':
    52.                 $res=$this->query($sql);
    53.                 $sel=mysql_fetch_assoc($res);
    54.                 break;
    55.             case'w':
    56.                 $sel=array();
    57.                 $res=$this->query($sql);
    58.                 while($row=mysql_fetch_assoc($res)){
    59.                     $sel[]=$row;
    60.                 }
    61.                 break;
    62.             }
    63.         return $sel;
    64.     }
    65.     public function insertInfo($table='',$column='',$values=''){
    66.         $sql="INSERT INTO $table($column
    67.        )VALUES($values)";
    68.             $this->query($sql);
    69.     }
    70. }
    71. ?>
    Как бы хорошо, но все же интересует один вопрос меня.
    У меня используется один пример кода sql запрос (припустимо выборки всех записей), а не к каждому запросу новый sql код, вот и появилась такая думка, что если на сайте будет много запросов, что-то случиться с кодом?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    А что может случиться с кодом?
     
  3. 1Feniks1

    1Feniks1 Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    93
    Симпатии:
    1
    Если одновременно будет несколько запросов, то не чего?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ничего. Даже если эти запросы будут - на обновление - СУБД самостоятельно проконтролирует конкуренцию между ними.
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @1Feniks1 замени функциональный подход с mysql_ функциями, на объектноориентированный с классом mysqli
     
  6. 1Feniks1

    1Feniks1 Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    93
    Симпатии:
    1
    Всем Спасибо!)))