Я новичок в стиле ООП PHP5, я заметил __construct
и __deconstruct
в классах классов и производственных классах.__Конструкция в классах ООП?
Я перечитал руководство этого:
http://php.net/manual/en/language.oop5.decon.php
и посмотрел на ряд вопросов/ответов на StackOverflow. Мне все еще трудно понять, каков фактический смысл его exisitance?
class foo {
function __construct()
{
// do something
}
public function Example()
{
echo "Example Functions";
}
function __destruct()
{
// do something
}
}
Тот же класс может функционировать так же с не хитами, как:
class foo {
public function Example()
{
echo "Example Functions";
}
}
но руководство государства с приведенным выше примером, что моя первая функция будет взять на себя роль, как __construct
Почему это приоритет в классах PHP5 OOP?
Насколько хорошо вы знаете ООП? PHP не является идеальным языком для изучения/практики программирования в стиле ООП, поскольку он позволяет всевозможные странные вещи. Например, вы можете вызвать 'foo :: Example();' через статический контекст, хотя «правильный» способ вызова - $ myFoo = new foo(); $ MyFoo-> Пример(); '. Вызов этого последнего способа полностью обходит ваши конструкторы/деструкторы, так как вы вызываете без создания экземпляра. – Matthematics
@ Lübnah Если PHP не является идеальным методом для практики стиля ООП, то что вы предлагаете? – user2146021
Насколько мне не нравится Java, это отличный язык для изучения основ. Но действительно, любой типизированный язык будет делать. Вы хотите изучить веревки со строгим языком, чтобы вы могли хотя бы научиться распознавать «странное вуду», что языки, подобные PHP, позволят вам уйти. – Matthematics