Обучение/Помощь новичкам | ООП в PHP (Lesson 1)
Доброго времени суток, после знакомства с ООП я решил написать статью о для людей не имеющих представления об ООП (Если вы более опытный то вы можете покинуть статью).
Теория
Начнем с того что ООП расшифровывается как "Объектно-Ориентированное Программирование", и имеет как недостатки, так и привилегии перед процедурным кодом, разберем эти привилегии и недостатки
Привилегии :
- приложения на ООП более мобильны
- приложения легче модифицировать и сопровождать
Недостатки :
- более медленный чем процедурный код
- труден для воспринятия новичков
- большее потребление оперативной памяти
- соблюдение требований характерных для ООП, что ограничивает свободу структурного построения кода
С чего состоит ООП :
ООП состоит из классов (class) и методов (function)
Первая надпись на ООП
Ниже я попытаюсь разъяснить каждую строчку кода
Я надеюсь что я по максимуму закомментировал код
На счет переменных
Открытые переменные класса (public): доступны - т.е. их можно прочитать и/или изменять - в любом месте скрипта, независимо от того, где находится этот код - внутри класса или за его пределами
Частные переменные класса (private): доступны только методам класса. Лучше всего делать переменные класса именно частными, чтобы отделить объекты от остальной части кода.
Защищенные переменные класса (protected): доступны методам собственного класса, а также методам наследуемых классов (мы поговорим о наследовании позже).
( Источник http://ruseller.com/lessons.php?rub=37&id=1145 )
Для первого урока - это все, с вами был EnCodeR и Rutech company
________
посл. ред. 05.07.2015 в 15:09; всего 1 раз(а); by EnCodeR
Теория
Начнем с того что ООП расшифровывается как "Объектно-Ориентированное Программирование", и имеет как недостатки, так и привилегии перед процедурным кодом, разберем эти привилегии и недостатки
Привилегии :
- приложения на ООП более мобильны
- приложения легче модифицировать и сопровождать
Недостатки :
- более медленный чем процедурный код
- труден для воспринятия новичков
- большее потребление оперативной памяти
- соблюдение требований характерных для ООП, что ограничивает свободу структурного построения кода
С чего состоит ООП :
ООП состоит из классов (class) и методов (function)
Первая надпись на ООП
Ниже я попытаюсь разъяснить каждую строчку кода
<?php
class ENCODER { # Создание класса "ENCODER"
public $coder; # Создаем переменную с обозначение public (разъясню позже)
function METOD() { # Создаем метода (функцию)
echo "Hello ООП";
}
}
$obj = new ENCODER; # Создаем объект класса
$obj->METOD(); # Вывод надписи из метода
?> Я надеюсь что я по максимуму закомментировал код
На счет переменных
Открытые переменные класса (public): доступны - т.е. их можно прочитать и/или изменять - в любом месте скрипта, независимо от того, где находится этот код - внутри класса или за его пределами
Частные переменные класса (private): доступны только методам класса. Лучше всего делать переменные класса именно частными, чтобы отделить объекты от остальной части кода.
Защищенные переменные класса (protected): доступны методам собственного класса, а также методам наследуемых классов (мы поговорим о наследовании позже).
( Источник http://ruseller.com/lessons.php?rub=37&id=1145 )
Для первого урока - это все, с вами был EnCodeR и Rutech company
________
посл. ред. 05.07.2015 в 15:09; всего 1 раз(а); by EnCodeR
недостатки не все описал
юольшее потребление оперативки
соблюдение требований характерных для ООП, что ограничивает свободу структурного постоения кода
неполноценность ООП, так как объектом называется полностью самостоятельный модуль и PHP его ну никак нельзя реализовать.
юольшее потребление оперативки
соблюдение требований характерных для ООП, что ограничивает свободу структурного постоения кода
неполноценность ООП, так как объектом называется полностью самостоятельный модуль и PHP его ну никак нельзя реализовать.
Сибирский (05.07.2015 в 15:05)
недостатки не все описал
юольшее потребление оперативки
соблюдение требований характерных для ООП, что ограничивает свободу структурного постоения кода
неполноценность ООП, так как объектом называется полностью самостоятельный модуль и PHP его ну никак нельзя реализовать.
недостатки не все описал
юольшее потребление оперативки
соблюдение требований характерных для ООП, что ограничивает свободу структурного постоения кода
неполноценность ООП, так как объектом называется полностью самостоятельный модуль и PHP его ну никак нельзя реализовать.
добавлю к статье, спасибо
EnCodeR , вообще ООП это как фабрика звезд, когда нужно состряпать быстро продукт широкого потребления. Вот примерно такая фигня ООП в php )) А реальный ООП можно наблюдать когда например в документ волд ты вставляешь лбъект эксель таблицы, вот это реальный ООП
EnCodeR , полезная статья,спасибо.
А чем класс отличается от функции или переменной?
А чем класс отличается от функции или переменной?
popovdk01 , класс есть хранилищем функций и переменных
Живой пример
class connection {
private $host;
private $user;
private $pass;
private $name;
static $query=0;
public function __construct($host, $user, $pass, $name){
$this->db=new mysqli($host, $user, $pass, $name);
$this -> q("SET NAMES 'utf8'");
}
public function query($str){
return $this->q($str);
}
public function q($str){
self::$query++;
$strr=$this->db->query($str);
if (!$this->db->error)return $strr;
else die('<div class="err">'.$this->db->error.'</div>');
}
public function result($sql){
$res=$this->q($sql)->fetch_row();
return $res['0'];
}
public function filtr($sql){
return $this->db->real_escape_string($sql);
}
public function new_id(){
return $this->db->insert_id;
}
public function res($sql){
return $this->q($sql)->num_rows;
}
public function obj($sql){
return $this->q($sql)->fetch_object();
}
public function ass($sql){
return $this->q($sql)->fetch_assoc();
}
}
$sqli = new connection($set['mysql_host'], $set['mysql_user'], $set['mysql_pass'], $set['mysql_db_name']);
class connection {
private $host;
private $user;
private $pass;
private $name;
static $query=0;
public function __construct($host, $user, $pass, $name){
$this->db=new mysqli($host, $user, $pass, $name);
$this -> q("SET NAMES 'utf8'");
}
public function query($str){
return $this->q($str);
}
public function q($str){
self::$query++;
$strr=$this->db->query($str);
if (!$this->db->error)return $strr;
else die('<div class="err">'.$this->db->error.'</div>');
}
public function result($sql){
$res=$this->q($sql)->fetch_row();
return $res['0'];
}
public function filtr($sql){
return $this->db->real_escape_string($sql);
}
public function new_id(){
return $this->db->insert_id;
}
public function res($sql){
return $this->q($sql)->num_rows;
}
public function obj($sql){
return $this->q($sql)->fetch_object();
}
public function ass($sql){
return $this->q($sql)->fetch_assoc();
}
}
$sqli = new connection($set['mysql_host'], $set['mysql_user'], $set['mysql_pass'], $set['mysql_db_name']);
что то я не понял сути, статей на тему ооп vs процедурка в интернетах больше чем хотелось бы, причем информация по-содержательнее и интереснее чем эта темка будет. автор что к чему? я то думал узнать что то, чего я не встречу на любой другой ссылке или статье
37861047 , Пусть новички почитают, будет полезно... Тем более, не нужно будет ходить по сайтам и искать)
Мне кажется, что доступно и понятно расписал автор...
Мне кажется, что доступно и понятно расписал автор...
для себя в ооп только бубны с танцами вижу.
Стр.: 1, 2