Возможно тем, что в некоторых других языках (например, C#), использование this не требуется для вызова функции класса. Но там и кода вне класса быть не может.
Возможно тем, что в некоторых других языках (например, C#), использование this не требуется для вызова функции класса. Но там и кода вне класса быть не может. // Вооот я именно поэтому то и спршиваю
Сергей Протько: v_decadence: Только вот как правильнее тогда функции вызывать и передавать параметры из экземпляра класса или функцию делать одну общую типа конгечную которая вызывет все что нужно типа такйо function get_json($id){
$res=$this->get_data($id);
$friends=$this->get_friend($res);
$subscriber=$this->get_subscriber($res);
$data= array(
"friends" => $friends,
"subscriber" => $subscriber,
"name" => $res['name'],
"email" => $res['email'],
ГЛЕБ ГЛЕБОВ: вы понимаете разницу между функциями и методами класса? Судя по приведенному вами примеру вы просто заварачиваете функции в классы. То есть никакого ООП и т.д. Тупо процедурный код с классами вместо неймспэйсов. Я правильно вас понял?
Сергей Протько: да совершенно верно у меня полностью школьный такой код я просто все хочу как то вот уже к классам итд переходить от набора процедур и поэтому ООПшнее я так понимаю было бы если я все это вызывал как бы из экзхемпляра класса да?
ГЛЕБ ГЛЕБОВ: классы проще проецировать на объекты вашей бизес логики. У вас есть пользователи - класс User. Нужен сервис который этими пользователями управляет - UserManager, который умеет лазить в базу и забирать данные. Хотим связывать пользователей - нам нужно что-то что бы закрепить отношения. Либо мы делаем свою ORM что сложно либо делаем отдельный менеджер или в рамках UserManager делаем метод который позволяет нам вернуть для выбранного пользованеля (не по ID а по объекту User) всех его друзей или подписчиков.
Сергей Протько: блин вот тут я уже кстати засомневался может и правда, у меня как раз азуре халявный простаивает и никаких там php , разве что node.js +mysql там все ок?
Никак.
Если только делать глобальные функции, у которых одним из параметров будет объект нужного класса, но это же костыль. К тому же, функции будут уже не внутри класса.
Понимает, просто лень писать $this каждый раз, может быть) У меня по началу была похожая проблема, иногда забывал его указывать при обращении к членам класса.
Suntechnic: А потом будет еще один вопрос на Тостере "Как обойтись без self::get_data() в PHP?"
Предлагаете сослаться на $this и наблюдать за вечным циклом? =)
Задалбывают эти постоянные $this-> в php. в нормальных языках без него понятно что функция или переменная внутри класса описана, а тут куча левого текста набирать надо. Только из за этого и не люблю классы в php.
Это вопрос не к PHP, а к реализации. Напишите другую где будет другое разруливание пространств имен и можно будет обходится без this. К самому языку это отношения не имеет.