powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возможно ли такое (ооп пхп)
15 сообщений из 15, страница 1 из 1
Возможно ли такое (ооп пхп)
    #37786554
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как такое сделать?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$hren = new hren();

class nehren {
	function __construct() {
		
	}
	
	function set() {
		echo $hren->get();
	}
}

$nehren = new nehren();



как сделать так чтобы в классе nehren можно было бы использовать объявленный раньше $hren ?
чтоб в самом классе его не обьявлять

в общем требуется однажды обьявить $hren а дальше в классах его использовать
статичный метод не подходит
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786559
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$a = new a();

class b {
	function __construct(a $a) {
		$this->a = $a;
	}	
}

$b = new b($a);


?!
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786565
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prot0type, не понял что ты хочешь, но мб:

Код: php
1.
2.
3.
4.
abstract class A { public function lol() { echo('lol'); } }
class B extends A {}
$b = new B;
$b->lol();
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786570
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$a = new a();

class b {
	function __construct(a $a) {
		$this->a = $a;
	}	
}

$b = new b($a);


?!


вот это меня и бесит
я так же в самом начале сделал
потом мне пришла мысль а нафиг так все усложнять

ведь я по просту хочу создать глобальный обьект и потом им пользоваться во всех классах
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786573
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем у меня куча файлов классов
и есть общий файл в котором происходит связывание этих файлов

проблема заключается в следующем

после подключения всех классов я делаю
Код: php
1.
2.
3.
4.
//подключаю дофига классов
$mysql = new db();
$set = new settings($mysql);
$theme = new template($mysql,$set);



как видите мне приходится передавать все в конструктор

а хочется не париться с эти

а сделать примерно так

Код: php
1.
2.
3.
4.
//подключаю дофига классов
$mysql = new db();
$set = new settings();
$theme = new template();



ничего не передовать, но в тоже время чтобы в классах было доступны обьекты обьявленные раньше
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786574
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну на крайняк может есть какие ключевые которые можно поставить перед обьявлениями
типа "глобал" или "статик" или что то типа такого
просто не хватает такой реализации
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786575
авторничего не передовать, но в тоже время чтобы в классах было доступны обьекты обьявленные раньше
mission impossible! ;)
Код: php
1.
$theme = new template(new db(), new settings());


ведь ты можешь насоздавать кучу экземпляров одного и того же класса!
откуда же другому классу знать какой именно экземпляр предыдущего нужно подхватить!?
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786594
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type
вот это меня и бесит
я так же в самом начале сделал
потом мне пришла мысль а нафиг так все усложнять

ведь я по просту хочу создать глобальный обьект и потом им пользоваться во всех классах
На этот случай придумали патерн Реестр - это обычный синглтон, но он хранит не 1 экземпляр самого себя, а множество экземпляров других классов. Единствено минусы
1. конструкции слишкомо длинные: к примеру Yii::app()->user, Yii::app()->config или App::module('db')... немного через магию конечно становиться красивей но все же...
2. реестр тот же самый синглтон, и ему свойствены все минусы синглтонов, какие думаю говарит не стоит)
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786657
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай от базового класса.
TInterface {__construct(CONFIG)}
TDatabase
TSettings
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786658
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может как то можно сделать $mysql и $set суперглобальными?


и что то я не догоняю в чем отличие?


Код: php
1.
2.
3.
4.
//подключаю дофига классов
$mysql = new db();
$set = new settings($mysql);
$theme = new template($mysql,$set);




Код: php
1.
2.
3.
4.
//подключаю дофига классов
$mysql = new db();
$set = new settings(&$mysql);
$theme = new template(&$mysql,&$set);
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786664
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно через Dependency injection
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37786828
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prot0type,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class Model {
private $_db;

public function __construct($db) {
$this->_db = $db;
}}

class Cart extends Model {
private $_param;

public function __construct($db, $param) {
parent::__construct($db);
$this->_param = $param;
}}
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37787179
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша ррр,

знаете чем отличаются private, protected и public?
судя по коду - нет
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37787466
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r uНяша ррр,

знаете чем отличаются private, protected и public?
судя по коду - нет

Да ошибся, чо дальше?
...
Рейтинг: 0 / 0
Возможно ли такое (ооп пхп)
    #37787473
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша ррр,

ничо. зато теперь знаете
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возможно ли такое (ооп пхп)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]