Цитата |
ООП это не просто Цитата напихать функции в классы и поменять везде вызовы функций на вызовы методов
основы ООП надо учить, и применять нужно их, а не просто (читай выше) |
Не слушай, ща напугают досмерти))))
Все просто. Вот говорят - класс, это не набор функций, это огого!!!
А на самом деле очень многие, да почти все, именно так и начинают это воспринимать. Потом уже приходит более глубокое понимание. А начать надо с простого.
Вот простой код.
PHP |
$var = 'Привет, Мир!'; echo $var; |
Вот более продвинутый:
PHP |
function hello_world() { return 'Привет, Мир!'; }
echo hello_world(); |
А вот ваще крутой:
PHP |
class Hello { function hello_world() { return 'Привет, Мир!'; }
} $helo = new Hello(); echo $helo -> hello_world(); |
Теперь малость усложним задачу.
PHP |
class Hello { private $who = 'Мир!'; function hello_world() { return 'Привет, '. $this->who; }
} |
То есть мы определили переменную, котрую видно внутри класса. Что бы к ней обратиться внутри метода (по русски функции), вместо $ надо приляпать такую штуковину $this->
Теперь еще дальше. Делаем второй метод.
PHP |
class Hello { private $who = 'Мир!'; function hello_world() { return 'Привет, '. $this->who; } function my_name($name) { return 'Йа - '. $name; } } $helo = new Hello(); echo $helo -> hello_world(); echo $helo -> my_name('Krevedko'); |
И дальше, что бы можно было сразу тебя узнать:
PHP |
class Hello { private $who = 'Мир!'; private $name = 'Krevedko'; function __construct($who = false) { if($who) $this->who = $who; } function hello_world() { return 'Привет, '. $this->who; } function my_name($name = false) { if($name) return 'Йа - '. $name; else return 'Йа - '. $this->name; } } $helo = new Hello(); echo $helo -> hello_world(); echo $helo -> my_name(); |
или допустим другое имя поставить:
PHP |
$helo = new Hello('<?php'); echo $helo -> hello_world(); echo $helo -> my_name( 'Криведко'); |
Потому что вот это:
PHP |
function __construct() |
срабатывает всегда, когда запускается класс (создается новый объект). И значения можно передать в класс прямо при создании объекта. ($helo = new Hello('<?php');) А можно не передавать ничего, а прямо там что то сделать. Главное, что он сработает не звисимо от.
Ну а дальше учёбник, наследование, полиформизм и прочая муть.