|
|
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, жаль, у меня такого глубокого опыта работы с классами нет. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 11:46:32 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r uAnjey aka PM, 1) classkit и другие сторонние модули расматривать не будем. так можно и свой написать тогда) 2) setAccessible появилось только в php 5.3, к томуже нужно изменить только значение, поле должно оставаться private. Хоббит маг Класс должен остаться темже. тоесть например var_dump($p); до и после - должен отличаться только значением поля $this->p.это дополнительные условия, которые не были озвучены раньше посему не имеют силы =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 11:47:27 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Anjey aka PM, согласен, моя вина, наверное. Просто тут речь про чистый PHP, сторонние модули и дополнения оставим в стороне. Класс очень примитивен специально, в реальности он может быть очень большим и сложным. И нужно подменить значение, но так чтобы ниже, имея этот объект нельзя было выявить что значение было изменено) Итак, уточняем задачу) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 11:58:05 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 12:14:46 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nym, согласен) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 12:18:34 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, на самом деле я надеялся будет что-то более изящное, типа $p->showP = function() {echo "HACK";};, но не сработало. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 12:19:50 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nym, куда уж изящнее. уже php6 на подходе, а тут в реализации ООП такая дыра. и далеко не одна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 12:26:34 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r u, будем надеяться (с оглядкой на последние посты), что о ней никто не знает. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 12:28:30 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nym, Знает, просто не люблю не элегантных решений =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 13:13:35 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
авторуже php6 на подходе, а тут в реализации ООП такая дыра. и далеко не одна. процедурный язык с добавлеными ОО возможностями (гибридный) будет изобиловать подобным до тех пор, пока его не перепишут под использование исключительно в ООП (создадут чистый ОО ЯП) (пример VB 6 -> VB.NET), в силу своей природной сущности. Вопрос в другом, кому он, после этого понадобится?! ;) ЗЫ задачка была забавной! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:03:51 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
vladgrig, скажите, что мне помешает сделать тот же финт с сериализуемым объектом в C#? Отвечаю: ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:09:55 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
vladgrig, Да и с рефлекшн-апи тот же финт проходит как в джава так и в с#. Его конечно можно отключить или ограничить в правах, но далеко не все это делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:29:24 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
Anjey aka PM, не боитесь, что товарищ vladrig опять не захочет с вами разговаривать? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:39:44 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nymAnjey aka PM, не боитесь, что товарищ vladrig опять не захочет с вами разговаривать? :)) Сорри за коверканье ника. *vladgrig. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:40:30 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
an0nym, А мне ни холодно ни жарко от этого. Я от vladgrig не видел ни одного логически законченного и обоснованного опровержения ни одного из моих аргументов в наших спорах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:45:19 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
авторЯ от vladgrig не видел ни одного логически законченного и обоснованного опровержения ни одного из моих аргументов в наших спорах. хм... авторскажите, что мне помешает сделать тот же финт с сериализуемым объектом в C#? Отвечаю: ничего. авторДа и с рефлекшн-апи тот же финт проходит как в джава так и в с#. Его конечно можно отключить или ограничить в правах , но далеко не все это делают. внимание вопрос! каким образом в PHP можно сделать объект не сериализуемым, либо как ограничить\отключить рефлекшн-апи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:55:11 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
vladgrig каким образом в PHP можно сделать объект не сериализуемым, либо как ограничить\отключить рефлекшн-апи? Реализовав методы wakeup и sleep? Но проблема то не в запрете, а в том что возможность такого финта к качеству ОО ЯП не имеет абсолютно никакого отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 14:58:23 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
r uan0nym, куда уж изящнее. уже php6 на подходе, а тут в реализации ООП такая дыра. и далеко не одна. это не дыра. спецификаторы доступа позволяют вам грамотно организовать инкапсуляцию и отловить потенциальных ошибки на уровне интерпретатора, а не пытаются от вас что-то "спрятать" или "утаить". так что если вам сильно хочется наговнокодить, чтобы вытащить или поменять какую-то приватную переменную, то никто вас останавливать не будет, это касается не только пхп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:02:56 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
продолжая дискуссию. ЗАЧЕМ "отключать рефлекшн, ограничивать в правах", делать несериализуемым и т.д.? от несанкционированного доступа нужно защищаться абсолютно другими средствами, но никак не приватными переменными :) если заводите такого рода дискуссию, то путаете назначение этого механизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:09:39 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
coffeesnake, дело в том, что некоторые персонажи считают такие обслуживающие механизмы чуть ли не фундаментальными признаками поддержки ОО в ЯП и на этом основании говорят, что PHP неполноценный ОО язык, в отличие от Java, C# etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:11:07 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
авторРеализовав методы wakeup и sleep? спс. посмотрю! остальное было неинтересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:14:12 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
vladgrigостальное было неинтересно. Мы скорбим по поводу того, что из многих упомянутых важных вещей, вам интересна только самая очевидная. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:16:08 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
<OFF> авторМы скорбим по поводу того, что из многих упомянутых важных вещей, вам интересна только самая очевидная. :( это ваша проблема! </OFF> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:18:12 |
|
||
|
(PHP) Разминка для мозгов
|
|||
|---|---|---|---|
|
#18+
vladgrig<OFF> авторМы скорбим по поводу того, что из многих упомянутых важных вещей, вам интересна только самая очевидная. :( это ваша проблема! </OFF> Дык прискорбно вдвойне! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 15:19:00 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37029749&tid=1465177]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 485ms |

| 0 / 0 |
