[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Class и внешняя функция
Kusss
Подскажите как мне воспользоваться внешней функцией внутри класса ?

function f1 ($value){
....
return $array;
}
function test ($value){
.....
$array = f1($value);
.....

return $array;
}

....
class Main(){
public function test(){
/*
Вот тут нужно обратиться к функции test().
*/

}
}
Valick
Цитата (Kusss @ 8.07.2015 - 15:05)
воспользоваться внешней функцией внутри класса

зачем? как же инкапсуляция? как же ООП smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
сколь безлогична задача и попытка её реализации - столь и равный ответ.
function f1 ($value){
$array = array($value,2,3,4,5,);
return $array;
}
function test ($value){

$array = f1($value);

return $array;
}


class Main{
public function test(){
echo '<pre>' . print_r(test(123), 1) . '</pre>';
}
}


$obj = new Main;
$obj->test();


_____________
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
Kusss
у меня нет ООП.
есть несколько классов для удобства. и несколько функций которые используются в большинстве файлов.

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

но все равно придется оставлять функцию, которая будет обращаться к классу. Чтобы не переписывать все.

Это будет нормально ?
Игорь_Vasinsky
нет.

user posted image

_____________
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
Kusss
а как ?
Игорь_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
Kusss
сейчас напишу зачем мне это.

в классе есть значение, и мне нужно его разобрать.
в функциях: 1) правило парсера 2) парсер.

kaww
Kusss, не слушай Игоря. Просто бери и используй функцию внутри метода класса.
Цитата (Игорь_Vasinsky @ 8.07.2015 - 12:28)
а нормально - когда ты не используешь функции в классах

Ты удивляешь все больше и больше день ото дня ). Функции из стандартной библиотеки тоже под запретом? Если нет, то в чем разница между пользовательской функцией и нативной?
Valick
Цитата (kaww @ 8.07.2015 - 16:08)
в чем разница между пользовательской функцией и нативной

ну хотя бы в том что одна написана на РНР, а вторая нет wink.gif



_____________
Стимулятор ~yoomoney - 41001303250491
kaww
Valick, не очень аргументный аргумент. Концептуально и та и другая функции - это атомарные части программы. Подпрограммы, которые могут быть вызваны из любого места, в том числе и !внезапно! из метода класса.
Valick
kaww, концептуально нативная функция - это неотъемлемая часть языка наряду с операторами, описанная в мануале в строгом соответствии с версией языка.
Всё остальное "от лукавого".
Нравиться плевать на инкапсуляцию и называть это месиво ООП, я вам не указ.
Васинский кстати хорошую картинку подобрал, мультфильм поучительный.

_____________
Стимулятор ~yoomoney - 41001303250491
stump
можно еще через параметры передавать:
function(function(){}){};


_____________
Трус не играет в хокей
volter9
stump
"ты че курил?" Что это за бред такой? Может быть замыкание в параметрах должно быть (в теле) внутри замыкания?

Kusss
Простотберешь и вызываешь, в чем проблема то?

_____________
Мой блог
Быстрый ответ:

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