Игорь_Vasinsky
21.03.2013 - 20:41
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
parent же есть.
где синтаксис не верен? объявленная переменная b не будет нигде видна, только в test, все норм игорек
Игорь_Vasinsky
21.03.2013 - 20:55
Так - а без наследования использовать статический метод одного класса в другом - это гуманно?
_____________
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
Почитайте про контексты.Области видимости.
Синглнтон для базы в этой ситации гуманно.
Все зависет от того как и где Вы будете это использовать.
Только не путаейте это с глобальной переменной,раз не нужно создавать класс.
Игорь_Vasinsky
21.03.2013 - 21:05
Цитата |
Синглнтон для базы в этой ситации гуманно. Все зависет от того как и где Вы будете это использовать. Только не путаейте это с глобальной переменной,раз не нужно создавать класс. |
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
21.03.2013 - 21:36
Игорь_VasinskyУдобное пользование классами избегая бесполезного ООП
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
21.03.2013 - 21:41
не понял твою мысль
_____________
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
21.03.2013 - 23:06
второй пост мой был
Цитата |
Так - а без наследования использовать статический метод одного класса в другом |
это спорно, смотря от задачи, городить классы незачем, ты сам потом запутаешься в них. возьми кохану и посмотри как она устроена, именно ее! многое прояснишь!
_____________
Игорь_Vasinsky
21.03.2013 - 23:23
Цитата |
это спорно, смотря от задачи, городить классы незачем, |
ты о чём??
_____________
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
21.03.2013 - 23:26
Игорь_VasinskyОтвет на: "а без наследования использовать статический метод одного класса в другом - это гуманно?"
Принципы ООП - наследование.
Процедурное программирование: независимые классы/функции, которые можно будет вызвать по ходу скрипта из другого места.
Из класса вызвать статичный (независимый) метод (функцию) другого класса - это и есть процедурное программирование, собственно.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
21.03.2013 - 23:28
ну в 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
21.03.2013 - 23:34
Игорь_VasinskyТрейты как множественное наследование.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
21.03.2013 - 23:35
что это? костыли?
_____________
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
21.03.2013 - 23:35
Игорь_VasinskyЭто
php 5.4 , множественное наследование, псевдо-костыли.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
21.03.2013 - 23:37
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
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.