[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Инициализация новой переменной
Страницы: 1, 2
Игорь_Vasinsky
1. Допустим есть метод

public function test(){
$b = $ths->a + $this->b;

return $b/2;
}


я создал переменную $b внутри метода - но что то мне подсказывает что такой синтаксис не верен

то ли нужно объявить в конструкторе $this->b = $b
то ли аргументом в методе $b = '' - а в теле уже this->b

как правильно манипулировать такими моментами?

Есть класс в котором должен использоваться статический метод второго класса - наследование обязательно или это не противоречит логике т.к. для статичного метода не нужен экземпляр класса?

т.е без наследования просто использовать class::static_method();

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
parent же есть.

где синтаксис не верен? объявленная переменная b не будет нигде видна, только в test, все норм игорек smile.gif
Игорь_Vasinsky
Так - а без наследования использовать статический метод одного класса в другом - это гуманно?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Oyeme
Почитайте про контексты.Области видимости.

Синглнтон для базы в этой ситации гуманно.
Все зависет от того как и где Вы будете это использовать.
Только не путаейте это с глобальной переменной,раз не нужно создавать класс.
Игорь_Vasinsky
Цитата
Синглнтон для базы в этой ситации гуманно.
Все зависет от того как и где Вы будете это использовать.
Только не путаейте это с глобальной переменной,раз не нужно создавать класс.


public function test(){
$b = $ths->a + $this->b;

return $b/2;
}


$b - как бы временная переменная - используется только в этом методе

я использую статический класс для коннекта


а вот на это нет ответа
Цитата
а без наследования использовать статический метод одного класса в другом - это гуманно?



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
Игорь_Vasinsky
Удобное пользование классами избегая бесполезного ООП smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
не понял твою мысль

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
johniek_comp
второй пост мой был

Цитата
Так - а без наследования использовать статический метод одного класса в другом

Class::someMethod(); // :)))


Цитата
это гуманно?

это спорно, смотря от задачи, городить классы незачем, ты сам потом запутаешься в них. возьми кохану и посмотри как она устроена, именно ее! многое прояснишь!


_____________
user posted image
Игорь_Vasinsky
Цитата
это спорно, смотря от задачи, городить классы незачем,

biggrin.gif
ты о чём??

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
Игорь_Vasinsky
Ответ на: "а без наследования использовать статический метод одного класса в другом - это гуманно?"

Принципы ООП - наследование.
Процедурное программирование: независимые классы/функции, которые можно будет вызвать по ходу скрипта из другого места.

Из класса вызвать статичный (независимый) метод (функцию) другого класса - это и есть процедурное программирование, собственно.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
ну в php нет множественного наследования.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
Игорь_Vasinsky
Трейты как множественное наследование.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
что это? костыли?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
Игорь_Vasinsky
Это php 5.4 , множественное наследование, псевдо-костыли.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
1. ещё рано работать с php5.4
2. очень плохо при изучении нового материала использовать костыли

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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