Вложенные классы. Доступ к переменным.

ogursan

Новичок
возвращаясь к вопросу: достаточно ли указать перед переменной $data ключевое слово global, чтобы иметь к нему доступ из другого класса?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
это не совсем хороший прием, лично мое мнение.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Пойти и перечитать снова про области видимости переменных и свойств классов, про наследование, инкапсуляцию и полиморфизм. Пока что твой код нерабочий, вложенных классов в php нет и не было. Есть классы родители и классы потомки (читай наследование). Вот когда прочитаешь про них - переформулируй свой вопрос.
 

A1x

Новичок
слово global лучше забудь. Если хочешь научиться писать в хорошем стиле ООП
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Кстати, господа, вы не правы, require/include внутри метода получит доступ только к локальному неймспейсу метода, что замечательно используется для обертывания шаблонов в свою область видимости.
 

Redjik

Джедай-мастер
Кстати, господа, вы не правы, require/include внутри метода получит доступ только к локальному неймспейсу метода, что замечательно используется для обертывания шаблонов в свою область видимости.
А вот про это поконкретнее пожалуйста =) Это тестированием узнать можно было только, или статейка какая есть?
 

A1x

Новичок
флоппик доступ это одно, а мы говорили про объявление классов

a.php
PHP:
<?php

namespace a;

class A {

}
test.php
PHP:
<?php

class B {

    public function __construct() {
        require 'a.php';
    }

}

new B;

$a = new a\A;;
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Объявление глобально, это да. Но ТС же не говорил, что в инклуде именно класс, он лишь говорит, что видел инклуд.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
А вот про это поконкретнее пожалуйста =) Это тестированием узнать можно было только, или статейка какая есть?
Ну это как бы документированное поведение вроде. Оно для меня особо сюрпризом не стало, по крайней мере.
 
Сверху