bay_ebook

bay_ebook
Рейтинг
111
Регистрация
28.05.2010
KalinaKrasnaya:

<!--[if IE 8]>
<link rel="stylesheet" media="screen" type="text/css" title="Style" href="css/ie7.css" />
<![endif]-->

....

Люди, неужели проще создать тему, чем посмотреть свой собственный код :)

ТС - у вас стили подключаются только для IE8 if нада убрать :)

djdiplomat:
Спасибо огромное!

А не подскажете может какой хороший мануал по безопасному написанию скриптов на js? А то задачи разные бывают...
Или может книгу какую...

скрипты js исполняются на стороне юзера, и посему любой юзер может туда везть и что-то подкрутить. Безопасность может быть только на стороне сервера, доверять js нельзя.

Могу ошибиться, некогда вникать. Но вроде все методы, объявленные в абстрактном классе должны быть объявленные и в дочернем классе.

ПС - некогда вникать, мог ошибиться, нужно мануал глянуть в этом направлении.

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

Поэтому большая просьба - когда верстаете - используйте js по минимуму или делайте запрос прогеру - не осложнит ли это ему жизнь.

R34-zevs:
Есть у нас константы для подключения к БД. Но смысл в том, что на локальном компе у нас одни данные для подключения, а на сервере - другие. Раньше мы делали проверку по ip адресу вида if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1").

Но теперь этот файл мы подключаем через crontab а для него не существует в переменной SERVER данного значения. как нам быть? Нам необходимо, чтоб по какому-то параметру мы определяли где сервер, а где локальный комп и чтоб работало на crontab.

ну передавайте в кроне аргумент, какой сервер юзаете. Примерно так

/usr/local/bin/php -f /home/имя_хостинга/путь_к_скрипту/script.php 15 afgfnm 34

а потом выдергивайте их

$а=$argv[1]; 

$some_text=$argv[2];
$age=$argv[3];

В нашем примере после этих строк переменная $а внутри крон-скрипта будет равняться 15, переменная $some_text будет равна afgfnm, а переменная $age = 34.

Никак :)

Это от браузера зависит. Опера по умолчанию показывает кирилицу. ИЕ - юникод. А сделать нечего нельзя, в строке запроса только юнико.

Вместо $_SERVER["DOCUMENT_ROOT"] лучше использовать другую конструкцию ,которая не зависит от массива сервер а зависит от файла

$root=dirname(__FILE__);

или

$root=pathinfo(__FILE__, PATHINFO_DIRNAME);

а для кроссплатформености (когда с линукса на винду и назад переносится), можно еще добавлять дальше

$root= str_replace('\\', '/', $root);

ortegas:
bay_ebook, встроенный шаблонизатор не знает HTML вообще. :) Я уже молчу о классах.

И не окупиться производительность. preg_replace вариант шаблонизатора (как в Smarty) работает в 4 раза медленнее, а встроенный шаблонизатор это не очень удобно, во-первых, не контролируемо, и не так уж производительно каждый раз искать <? ?> и обрабатывать short_tags. :)

Шаблонизатор кэшируется. Да и без кэша 2-4 миллисекунды для обработки шаблона по сравнению с 12-60 миллисекундами Smarty. XML работает быстрее за регулярные выражение, хотя бы через строгую фильтрацию.

хм, ладно, сейчас начну троллить ,так что лучше лягу спать.

Я писал, что лучше вообще шаблонизатор не юзать, никакой, ни встроенный, ни написанный :)

ortegas:


Я их обрабатываю как раз классом. Просто результат записываю в глобальный объект, а не в $зис->шпекси->крекси.

Разве я писал, что я их засовываю куда то? Посмотрите фреймворки, а то мы разговариваем о разных вещах.

Просто не обрабатываю на старте, а просто кода нужна переменная, то пишу

$a = LibServer:: post('anyname');

ortegas:


Мне дает существенный плюс использование DOMDocument в качестве шаблонизатора.

уберите шаблонизатор и получите такой плюс к памяти и быстроте, что все извращения с классами окупятся. Ведь по факту - пхп - это шаблонизатор для с++ для создания сайтов, а вы на один шаблонизатор другой. 🍿🍿🍿

ortegas:
bay_ebook, в GET, POST, COOKIE попадают только безопасные данные.

Они туда попадают от юзера - так что по факту не безопасны. Значит их нужно так или иначе обрабатывать, то, что вы обрабатываете их функциями, а не классами - по факту ниочем, изменить функцию или расширить - придется лезть в базовый код.

ortegas:
GET нужно либо удалять либо хранить в оригинальном виде. Не понимаю, что вы там расширять собираетесь? Может вы еще пишите что-то типа Singleton::get('GET')['var']->toUpperCase(). Нее, ну извините, это бред, а не функционал.

Во-первых не только гет, но и пост и куки!

Во-вторых - когда мне оттуда нужно взять данные - перед тем, как их скажем записать/использовать в БД (не только гет, но и пост, куки) их нужно проверить. И намного проще написать 1 функцию под это на старте, чем каждый раз, составляя запрос в БД, обрабатывать.

А потом , скажем на каком то этапе ,мне понадобилась более серьёзная обработка - так я просто делаю расширение базового метода, а не переписываю его. ну и тд :)

Всего: 936