Программирование сложных скриптов, написание с нуля сайтов.

Программированием на PHP, MYSQL, JS с использованием jQuery и CSS занимаюсь с 2005 года. Доработка самописных движков, написание полностью с нуля специализированных сайтов. Возможны небольшие доработки общеизвестных движков DLE, Drupal, Joomla, IPB. Интересны большие и сложные проекты, потому что могу написать более быстрый скрипт, меньшего объема, на что не способны большинство программистов. Особенно если эти программисты пишут дополнительные модули на готовых движках.

Самый тормозной движок из тех с которыми я работал когда-либо работал Bitrix, это одна из причин по которой я категорически не работаю с ним. Моя специализация разработка высоконагруженных сайтов. А для этого сайту необходимо иметь быстрый доступ к базе MYSQL, уменьшить время задержки на обработку данных в памяти, быстрый ЧПУ, распараллеливание запросов в PHP, JS и лишь в финале кеширование.

Пример PHP кода

Данный код связан с SEF и считывает из базы SEO содержимое. В самой таблице TAGS_TABLE поиск ведется по закешированным индексам url и sef.

if ( preg_match ("#([a-zA-Z0-9\-\_\/]*)\/\?#i", $sef, $matches ) )
    {  
        $sef = $matches[1];
    }
$sql = 'SELECT * FROM ' . TAGS_TABLE . ' WHERE sef = "' . $sef . '" LIMIT 1';
$r_tags = $db->query( $sql ) or error ( 'Critical Error' , mysql_error() );
$f_tags = $db->fetcharray( $r_tags );
if ( $db->numrows ( $r_tags ) > 0 )
    {   
        preg_match ('/^([^?]+)(\?.*?)?(#.*)?$/', $f_tags['url'], $matches);
        if ( isset ( $matches[2] ) && @$matches[2] )
            {
                foreach ( explode ( '&', mb_substr ( $matches[2], 1 ) ) as $value )
                    {
                        $url_get = ( explode ( '=', $value ) );
                        $_GET[$url_get[0]] = $url_get[1];    
                    }
            }
        $seo = 'YES';
        $title = $f_tags['title'];
        $description = $f_tags['description'];
        $keywords = $f_tags['keywords'];
        $content = $f_tags['content'];
        $announcement = $f_tags['announcement'];
        $filter = $f_tags['filter'];
        $header = $f_tags['header'];                     
        $url = preg_replace( '/^([^?]+)(\?.*?)?(#.*)?$/', '$1$3', $f_tags['url'] );
    }

Пример JS кода

Данный код связан с Form и меняет содержимое полей формы по 3-х мерной матрице.

if (url.match(/(order_add|order_edit)\.php/))
    {
        value = $('#category option:selected').val();
        value2 = $('#type option:selected').val().replace( /(ANY)/gi, '0');
        if (value != 'ANY')
            {
                link[1][1] = new RegExp('^(1|2)$','gi');
                link[1][2] = new RegExp('^(1|2)$','gi');
                link[1][3] = new RegExp('^(3|4)$','gi');
                link[1][4] = new RegExp('^(3|4)$','gi');
                link[2][5] = new RegExp('^(5|6)$','gi');
                link[2][6] = new RegExp('^(0)$','gi');
                link[2][7] = new RegExp('^(0)$','gi');
                link[2][8] = new RegExp('^(0)$','gi');
                link[2][9] = new RegExp('^(0)$','gi');
                link[2][10] = new RegExp('^(0)$','gi');
                link[2][11] = new RegExp('^(7|8)$','gi');
                link[2][12] = new RegExp('^(5|6)$','gi');
                link[2][14] = new RegExp('^(9|10)$','gi');
                link[2][15] = new RegExp('^(9|10)$','gi');
                link[3][0] = new RegExp('^(11|12|13|14|15)$','gi');
                link[4][16] = new RegExp('^(16|17)$','gi');
                link[4][17] = new RegExp('^(18|19)$','gi');
                link[4][18] = new RegExp('^(20|21)$','gi');
                link[4][19] = new RegExp('^(0)$','gi');
                link[5][20] = new RegExp('^(22|23)$','gi');
                link[5][21] = new RegExp('^(24|25)$','gi');
                link[6][0] = new RegExp('^(26)$','gi');
                link[7][0] = new RegExp('^(30)$','gi');
                link[8][22] = new RegExp('^(27|29)$','gi');
                link[8][23] = new RegExp('^(31|32|33|34)$','gi');
                link[8][24] = new RegExp('^(35|36)$','gi');
                link[9][0] = new RegExp('^(37)$','gi');
                link[10][0] = new RegExp('^(8)$','gi');
                $('[doc]').each(function (){
                    if ($(this).attr('doc').match(link[value][value2]))
                        {
                            $(this).parent().parent().show();
                        }
                        else
                            {
                                $(this).parent().parent().hide();
                                i++;
                            }
                });
                if (i==37)
                    {
                        $('#docs').parent().parent().hide();        
                    }
                    else
                        {
                            $('#docs').parent().parent().show();    
                        }
                i=0;                                   
            }
    }    

Комментарии

Добавление комментариев доступно только зарегистрированным пользователям
Информация
  • Размещено 20.01.2015 18:00
  • Просмотры: 8282

Рейтинги

0

Всего голосов: 0

Теги