В строгих языках программирования типа C++ и Java программист обязан явно определять какими свойствами обладает тот или иной класс, причем явно указывая их области видимости (public, protected или private). В PHP4 такой строгости не было и в некоторых случаях это приводило к ошибкам, которые достаточно трудно отловить.
В PHP5 у свойств классов появились области видимости и все стало более-менее строго. Обращение к несуществующему статическому свойству класса
<?php
class A { }
A::$myVar = 'test';
?>
приводит к фатальной ошибке: “Fatal error: Access to undeclared static property: A::$myVar in C:\test.php on line 7″. Однако, для совместимости с PHP4 при обращении к свойству объекта никаких ошибок не генерируется. Продолжить чтение “Перехват обращения к несуществующим свойствам объектов в PHP5″
(данный пост был в последствии изменен, см. примечание в конце)
Как известно, в PHP, начиная с 5-ой версии, появилась замечательная возможность загружать классы автоматически по мере возникновения в них необходимости. Теперь, вместо того, чтобы писать в файле каждого класса список используемых файлов классов, достаточно где-нибудь в файле инициализации объявить функцию с именем __autoload(), которая получает в качестве параметра имя требуемого класса и пытается его загрузить. Эта функция — своего рода последний рубеж перед возникновением ошибки “Fatal Error”.
У данного метода есть два преимущества:
- Не нужно отслеживать где и какие классы мы используем. Ведь ошибиться здесь очень легко. Например, в одном классе мы используем другой класс, который уже был использован и загружен ранее, и который мы забыли явно объявить через require_once. Скрипт работает нормально, т.к. класс загружен. Но вот мы начали вызывать этот класс из другого места и там требуемый класс еще не был загружен — возникнет фатальная ошибка. Если необходимость в этом классе возникает не постоянно, а лишь в некоторых редких ситуациях (например, при обработке исключений), то отловить это будет крайне сложно.
- Нет избыточных вызовов require_once. Ведь если файл с классом загружен, то нет смысла вызывать каждый раз в каждом классе require_once одних и тех же файлов классов.
Однако, есть у данного метода и недостатки. Продолжить чтение “Нюансы автоматической загрузки классов в PHP с использованием __autoload()”
Не успели отгреметь выборы, как широкой общественности стал доступен приказ №6 от минсвязи РФ, который обязывает всех операторов связи предоставлять ФСБ-шникам техническую возможность без всякого ведома и согласия оператора получать доступ к любой пересылаемой информации пользователей (телефонные звонки, SMS, электронная почта, ICQ, вобщем все, что не имеет встроенного механизма шифрования на концах), к данным об оказанных услугах (детализация звонков, выставленные счета), и к информации о местоположении абонента при совершении звонков с сотового.
Собственно, все это было и раньше, но не было официального закона. ФСБ-шники могли придти к оператору (провайдеру) и потребовать какие-нибудь логи. Оператор им эти логи обычно давал. Но в этом случае оператор хотя бы знал, что ФСБ-шникам понадобилась информация и какая именно. Кроме этого, провайдер теоретически мог отказать или сослаться на отсутствие технической возможности… А теперь не только не может, но и не знает когда и какую информацию получают ФСБ-шники. При этом ФСБ-шникам для этого не нужно даже отрывать свой зад от кресла.
Какие выводы из этого можно сделать? Продолжить чтение “Goodbye, privacy!”
Впервые за всю свою жизнь столкнулся со случаем, когда выборы в нашей стране просто безальтернативные. Избирателей лишили двух важнейших рычагов управления выборами: убрали пункт “против всех” и отменили процент явки, при которой выборы считаются действительными. Теперь кого людям предложили — того и будем мы иметь (а если быть честнее, то “тот и будет иметь нас”) последующие 4 года.
Мне реально ни один кандидат не нравился. Медведев не нравился по тому, как проводилась его рекламная кампания — еще за несколько месяцев до выборов о нем повсеместно говорилось как о будущем президенте. В интернете на многих новостных сайтах часто можно было встретить заголовки вида “Будущий президент России Медведев Д.А. …”. Мне любопытно, новостным сайтам кто-то доплачивал за такие оговорки или это повсеместная неполиткорректность СМИ? Продолжить чтение “Выборы, выборы — кандидаты пи-пи-пи…”