[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Конструкторы php
bposter
Доброго, в класс добавляю конструктор, создаю экземпляр объекта без параметров, вылазит ошибка. Создаю доп конструктор пустой, все равно ошибка. Не могу понять что не так, в java если при создании объекта не задать параметры то сработает конструктор по дефолту, в php что только один конструктор на весь класс можно использовать ?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Valick
bposter, лучше один раз увидеть, чем сто раз услышать. Показывай код не стесняйся.
Конструктор у класса один, что мешает задать значения по дефолту?

_____________
Стимулятор ~yoomoney - 41001303250491
bposter
Цитата (Valick @ 10.12.2020 - 18:57)
bposter, лучше один раз увидеть, чем сто раз услышать. Показывай код не стесняйся.
Конструктор у класса один, что мешает задать значения по дефолту?

Показывать то и нечего, я пока пытаюсь вникнуть.

Я ООП практиковал в java, там можно хоть сто конструкторов создавать, нужный конструктор определялся по количеству передаваемых параметров при создании объекта, если параметры не передавались то конструкторы игнорировались(срабатывал дефолтный).

Если конструктор в php может быть только один то вопрос снят.



class A{ //Так сработает, при создании обьекта передаю параметр в конструктор

public $neim = 1;

function __construct($g){
return $this->neim = $g;
}


}



$b = new A(2); ///Передал параметр

echo $b->neim;




class A{ //Без параметра ошибка

public $neim = 1;

function __construct($g){
return $this->neim = $g;
}


}



$b = new A(); //Ошибка без параметра

echo $b->neim;


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Valick
function __construct($g = 1){
return $this->neim = $g;
}


_____________
Стимулятор ~yoomoney - 41001303250491
bposter
Цитата (Valick @ 10.12.2020 - 19:44)
function __construct($g = 1){
return $this->neim = $g;
}

В вашем примере задан параметр по дефолту в самом конструкторе, в общем я понял что ООП в php и java не много по разному работают.

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Valick
bposter, было бы крайне удивительно если бы у php и java не было различий.
Зачем строить какие-то догадки, если можно взять книгу по РНР и прочитать. В любой книге подробно описаны базовые понятия языка. Значение по умолчанию это как раз основы РНР и даже ООП тут ни при чём.

_____________
Стимулятор ~yoomoney - 41001303250491
bposter
А поговорить smile.gif и тд..

Почему и для чего такие различия? Почему не сделать как в java, этож удобно, else я не понимаю чего то unsure.gif

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Valick
bposter, есть более интересные темы для около РНР-шных разговоров, без переливания из пустого в порожнее базовых понятий.
РНР язык требующий самодисциплины. Изучая РНР всегда есть выбор кем стать, программистом или говнокодером.

Поверь, на этом форуме поговорить любит каждый первый его участник. Главное, что бы тема была интересной.

_____________
Стимулятор ~yoomoney - 41001303250491
Valick
Цитата (bposter @ 10.12.2020 - 23:11)
Почему и для чего такие различия? Почему не сделать как в java, этож удобно, else я не понимаю чего то

зачем РНР делать как JAVA если уже есть JAVA? smile.gif

Вместо того, что бы честно взять и выучить РНР, ты пытаешься его подстроить под себя, это называется "со своим уставом в чужой монастырь". РНР проще JAVA просто надо привыкнуть как и к любому другому языку.

_____________
Стимулятор ~yoomoney - 41001303250491
bposter
Цитата (Valick @ 10.12.2020 - 20:21)
на этом форуме поговорить любит каждый первый его участник

Вех участников к моему великому сожалению на данный момент можно пересчитать на пальцах одной руки.

Valick, спасибо за помощь.

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
twin
Про то, нужна ли в PHP перегрузка методов, давно идут холивары. Вот к примеру.

Я вот с JAVA познакомился позже, чем с PHP, и ой как жутко мне не хватало дефолтных значений. И я так же матерился, что вот почему так неудобно, нафиг эти перегрузки, сделайте как в PHP. biggrin.gif

Перегрузки в PHP скорее всего никогда не будет из-за динамической типизации и некоторых специфик. Допустим если это реализовать, исчезнет обратная совместимость у 99,99% проектов. К примеру потеряет смысл функция func_get_args()

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
SlavaFr
Цитата (bposter @ 10.12.2020 - 19:58)
Цитата (Valick @ 10.12.2020 - 19:44)
function __construct($g = 1){
    return $this->neim = $g;
}

В вашем примере задан параметр по дефолту в самом конструкторе, в общем я понял что ООП в php и java не много по разному работают.

А я вот не могу вспомнить в Ява, что бы конструктор ретурном что то выдавал.
Собственно в ПХП то же самое...


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
bposter
Цитата (SlavaFr @ 11.12.2020 - 12:16)
Цитата (bposter @ 10.12.2020 - 19:58)
Цитата (Valick @ 10.12.2020 - 19:44)
<pre class="sh_sourceCode" rel="php"><span class="sh_keyword">function</span> <span class="sh_function">__construct</span><span class="sh_symbol">(</span><span class="sh_variable">$g</span> <span class="sh_symbol">=</span> <span class="sh_number">1</span><span class="sh_symbol">)</span><span class="sh_cbracket">{</span>
    <span class="sh_control">return</span> <span class="sh_variable">$this</span><span class="sh_symbol">-></span>neim <span class="sh_symbol">=</span> <span class="sh_variable">$g</span><span class="sh_symbol">;</span>
<span class="sh_cbracket">}</span></pre>

В вашем примере задан параметр по дефолту в самом конструкторе, в общем я понял что ООП в php и java не много по разному работают.

А я вот не могу вспомнить в Ява, что бы конструктор ретурном что то выдавал.
Собственно в ПХП то же самое...

Хорошие замечание, я аж задумался blink.gif В принципе конструктор не должен не чего возвращать, а устанавливать нужные свойства для дальнейшей работы

В общем как сказал twin перегрузов в php нет а на нет и суда нет

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Bandera
Интересуют уроки по php!
bposter
Цитата (Bandera @ 11.12.2020 - 21:32)
Интересуют уроки по php!

Есть уже курс уроков, так что спасибо не надо

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.