Как создать закрытую систему объектов php или общую priv/prot переменную для нескольк

bl3
На сайте с 20.12.2006
Offline
113
bl3
663

Как создать закрытую систему объектов php или общую priv/prot переменную для нескольких классов.

class First{

private static $MySQLconn;

public function Connect() {
First::$MySQLconn=mysql_connect(...);
}

protected function Query($query) {
mysql_query(First::$MySQLconn,$query);
}
}

final class Second extends First{
public function Destroy(){
First::Query(...);
}
}

затем у нас идет

eval($_GET['code']);  // :) 

и я хочу запретить создавать любой другой class extends First, чтобы доступ к First::Query был только у доверенных классов, а соединение было скрыто от PHP-инъекций.

Вопрос:

а) как запретить дальнейшее наследование

б) как скрыть mysql соединение

в) есть ли другой способ добиться того что я хочу?

bl3
На сайте с 20.12.2006
Offline
113
bl3
#1

писец полный. как сделать низззнаю

Pike
На сайте с 13.07.2004
Offline
79
#2

Недостижимые цели реальными не бывают. Расслабьтесь, все что написано на PHP принадлежит nobody.☝

free hosting (http://rahost.com)
dkameleon
На сайте с 09.12.2005
Offline
386
#3

можно попробовать get_class

и код сравнения прописать прямо в class First

не уверен только, что будет для унаследованныех классов. просто догадка.

но ничто не мешает создать объект класса First и вызвать нужную функцию.

Дизайн интерьера (http://balabukha.com/)
Pike
На сайте с 13.07.2004
Offline
79
#4

а почему бы просто не strstr $_GET['code'] на предмет вызова First?

bl3
На сайте с 20.12.2006
Offline
113
bl3
#5
Pike:
а почему бы просто не strstr $_GET['code'] на предмет вызова First?

потому что в общем коде предполагается много вызовов eval, левых include и использование методов других классов которые должны иметь доступ к First.

Pike
На сайте с 13.07.2004
Offline
79
#6
bl3:
потому что в общем коде предполагается много вызовов eval, левых include и использование методов других классов которые должны иметь доступ к First.

Ну и нафига тогда нужен был пример в первом посте, если решение для него не работает для всей аппликухи?

Агласите весь списк, пжалуйста....

bl3
На сайте с 20.12.2006
Offline
113
bl3
#7
Pike:
Ну и нафига тогда нужен был пример в первом посте, если решение для него не работает для всей аппликухи?

Агласите весь списк, пжалуйста....

необходимо решение на уровне ООП

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий