четверг, 21 апреля 2011 г.

go.js - классы для JavaScript и другое

go.js - классы для JavaScript и другое
- Эмуляция "классов" - Наследовение - Связывание методов с контекстом объекта - Доступ к цепи предков и предыдущим реализациям методов - Статические методы, абстрактные классы, разрушение объектов - Печеньки - Стопрацентнае, на, покрытие юнит-тестами Брать здесь или клонировать тут

go.js - зачем оно нужно и как работает

go.js, это JavaScript-библиотека.

Все популярные JavaScript-библиотеки акцентируют внимание на взаимодействии с DOM, визуальных эффектах и достижении кроссбраузерности. В этих областях они достигли больших высот и пытаться воспроизводить данный функционал самостоятельно, достаточно бессмысленно. Лучше взять тот же jQuery.

go.js концентрируется на упрощении внутренних вещей языка, например, ООП. Подразумевается использование go.js вместе с какой-либо другой библиотекой.

Почему не взять надстройку над ООП из тех же MooTools или Prototype?

  1. Потому что брюзге-автору не нравятся многие моменты реализации этих надстроек.
  2. Например, в jQuery нет вообще ничего для ООП, а переходить на другую библиотеку только из-за ООП глупо. Подключать же вслед за jQuery ещё и Prototype с его объёмами и конфликтами, тоже не рационально.

Определение IP пользователя PHP

function ip() {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}