PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (65): В начало « ... 20 21 22 23 [24] 25 26 27 28 ... » В конец

> Найдено сообщений: 972
sKaa Отправлено: 13 Мая, 2012 - 17:40:01 • Тема: Наследование класса в ооп • Форум: Объектно-ориентированное программирование

Ответов: 20
Просмотров: 6526
Я не совсем понимаю, как это так, наследуется класс который использует синглтон!
Sorry for my English Улыбка
Спойлер (Отобразить)
sKaa Отправлено: 13 Мая, 2012 - 12:37:50 • Тема: Наследование класса в ооп • Форум: Объектно-ориентированное программирование

Ответов: 20
Просмотров: 6526

markus111 пишет:
bd();

а bd это base data ?

Да и не совсем понятна логика getInstance()->bd();
sKaa Отправлено: 12 Мая, 2012 - 14:04:54 • Тема: Вывод массива с конца • Форум: Вопросы новичков

Ответов: 3
Просмотров: 198
PHP:
скопировать код в буфер обмена
  1. $array = array('qwe', 'asd', 'zxc');
  2. for($k=count($array);$k>=0;$k--){
  3.    echo $array[$k] . '<br>';
  4. }
sKaa Отправлено: 11 Мая, 2012 - 23:57:53 • Тема: Небольшой вопрос по cookies • Форум: Вопросы новичков

Ответов: 5
Просмотров: 167
LIME, у кого это - "у нас"?
(Добавление)
На сколько я помню буферов много не бывает. Нужно каждый раз переносить содержимое в переменную, очищать буфер, заполнять заново и так каждый раз. Ну чем не костыль?
sKaa Отправлено: 11 Мая, 2012 - 23:45:59 • Тема: Небольшой вопрос по cookies • Форум: Вопросы новичков

Ответов: 5
Просмотров: 167
lamer6666, а в чем собственно проблема разобраться с такой мелочью как куки\сессии задолго до того, как в браузер что-либо полетит? Вообще конечно самый лучший вариант это отделение пхп от хтмл кода, но это вам так сразу осилить не выйдет.
Но буфера тоже выход, хотя скорей и костыль в данном случае. хз хз.
sKaa Отправлено: 11 Мая, 2012 - 23:34:55 • Тема: Вопросы от новичков • Форум: Вопросы новичков

Ответов: 74
Просмотров: 2829
Symby пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $link = db_conn();
  3. $insert = "INSERT INTO `Discipline` VALUES ('$kod', '$spec', '$name', '$cutName', '$hoursOne', '$hoursTwo', '$hoursAll', '$vidZach')";
  4. mysql_query($insert);
  5. mysql_close($link);

Полнейший бред конечно, типичный представитель "индусского кода", основателями которого собственно и являются хитрые индусы, которые в свое время быстро смекнули, что их зарплата прямо пропорциональна зависит от кол-ва строк кода... В те далекие времена когда только-только вышел ie 5.0(если мне память не изменяет) не было у рядовых граждан такого слова-паразита как "выйти в интернет" итп, в те времена в моде было словосочетание "Пойду, поброжу по Nescape Communicator", в этот момент Биллу и пришла в головы навязчивая идея сделать свой клиент(браузер) для работы в интернет, а самой главной фишкой было то, что он был "намертво" впаян в винду, в те времена знаете не так просто было с дискетками громандыми бегать Nescap'ы всякие таскать. Это сейчас люди на улице смотрят косо от такого форса, а тогда было просто лень, да я как сейчас помню как на 1.44 мортал комбаты таскали "из рук в руки" Улыбка Примечательно что разработчиками IE 6, 7, 8 являются почти все поголовно индусы Улыбка


Команда разработчиков IE7. Вглядитесь в эти лица.
И на количество пальцев, что показывает нижний-правый программист, их сумма явно не стакается с "7 версией осла" да и надпись на майке seven, для этих людей тоже пустой звук Улыбка - это имхо!

В таком коде не редко можно встретить такие вещи как :
PHP:
скопировать код в буфер обмена
  1. $i = TRUE;
  2. if($i == TRUE){
  3.    // Какой-нибудь код, который нам в любом случае придется выполнить и без этого убогого условия..
  4. }
  5. else {
  6.   // Внимание! Тут чистые деньги! Причем писать можно практически всё что угодно, код никогда не выполниться, главное чтоб компилятор не ругался :)
  7.   $array = array('qwe', 'asd');
  8.   $toStr = implode(' ', $array);
  9.   $backToArray = explode(' ', $toStr);
  10. }
  11.  


Сложно конечно воздержаться от высказывания, что твой код отчасти - говнокод, в традиции которого "на века" вбиты такие вещи как название функций\методов\классов\переменных русскими словами, но написанные на транслите. Сюда можно отнести и комменты на русском или вообще полное отсутствие комментов. - имхо дурной тон!
Ну что за $kod, $numCab, $spec, $hoursOne, $hoursTwo и $vidZach в названиях переменных, которые плавно берут истоки из аргумента функции. Я вот не пониманию, что такое $hoursOne/Two, $vidZach и думаю никто тут без "стакана" не разберет. Да и вообще зачем плодить кучу функций с огромным количеством аргументов? Хотяб добавь к ним $kod = 0, чтоб дефолты какие-то были, дабы меньше заморачиваться пытаясь в очередной раз освежить в памяти что там за аргументы нужны истерично пытаясь найти эту функции в громадном инклуде который лежит в папке libs и называется func.php - утрирую.
Конечно идеальным вариантом на мой взгляд будет передавать в аргумент массив. Конечно можно и некий модуль под это дело подогнать, но тут вопрос проф пригодности встает очень остро, к примеру я попробую в общих чертах показать что нам нужно от модели "teachers", очень поверхностно я ее рассмотрю :

Спойлер (Отобразить)


- Ты обладатель типичного представителя индусского кода, вреда от него скорей больше, чем пользы даже если ты получишь по рублю за каждую строку.
При каждом выполнении скрипа у тебя может открыться и тут-же закрыться Nнндцать подключений к базе, что само-собою скажется на скорости работы приложения.

Решения давно есть, нужно смотреть в сторону ООП. Серьезных приложений в которых все больше и больше разных вещей нужно как-то хранить в пределах жизни скрипта и получать из любого места кода не бывает в процедурном стиле!
Нужно строго контролировать текущее подключение к базе данных и хранить ссылку на него как-нибудь экзотическим для процедурного стиля понимания способом, ну как вариант использовать паттерн Singleton, а вообще можно при желании и паттерн Registry под это дело приспособить.
Подключение к базе должно быть (*опционально) инициировано автоматически при первом обращении к методу класса который должен будет заниматься собственно связью с этой базой (это должен контролировать какой нибудь класс, опять-же синглтон вполне справляется, но можно некий класс-прослойку написать, исчезнут лишние строки Singleton::getInstance(); в каждом методе который как-то работает с базой, но с другой стороны не самая лучшая идея плодить классы ради класса. Риторический вопрос конечно. )
Нужно как-то ловить ошибки (конструкция : try - catch), а чтоб их ловить нужен класс который собственно будет плеваться этими самыми ошибками, в этом плане PDO прекрасно справляется, но опять же без синглтона никуда ! К тому-же нету необходимости заморачиваться со всякими mysql_real_escape_string, в PDO своя система которая зачищает некоторые запросы от sql-инъекций, шансов нет!)
sKaa Отправлено: 11 Мая, 2012 - 22:56:30 • Тема: Вопросы от новичков • Форум: Вопросы новичков

Ответов: 74
Просмотров: 2829
Я? Да мог, легко вообще! Сейчас перепроверю и добавлю цитату если не ошибся !)
(Добавление)
Нет, ошибки быть не могло! )
Внимание ! Вопрос форумчанина :
Symby пишет:

Хотелось узнать про альтернативный синтаксис конструкций php, то есть про

Symby пишет:

Symby пишет:

Такие подобные конструкции используются для чего? Как я понимаю они используются для упрощения редактирования и чтения html кода заключенный в php файл?

Далекий от истины ответ другого форумчанина, таким образом и появляются различные неверные убеждения в правильности или нет использования тех или иных вещей - Вы сплетники господа!)
incker пишет:
нет endif и endwhile. все сделано умнее. чтоб можно было делать условие внутри условия которое в еще одном условии (то же самое while)

(Добавление)
Ну а вообще пхп славиться большим количеством функций сам факт присутствия которых очень сложно объяснить. Например goto ?? Зачем?? Зачем его включили в пых 5.3 если не ошибаюсь Улыбка

Ну а вообще такие вещи делают сам язык более универсальным. Вот ты писал всю жизнь на куБейсике, там как раз все эти begin, goto итд, а тут случилось так, что пых поддерживает такой изврат. Это и многое другое, например не строгая типизация данных и куча остальной фигни обеспечивает пыху очень низкий "входной порог", слишком уже малый багаж знаний нужен начинающему пых прогеру, чтобы с чистым сердцем и без угрызений совести начать говнокодить Улыбка
sKaa Отправлено: 11 Мая, 2012 - 22:52:43 • Тема: шаблоны/дизайны для joomla • Форум: HTML, Дизайн & CSS

Ответов: 7
Просмотров: 1527
u5go, в таком случае если вам нужен свой собственный шаблон, сделайте бэкап файлов текущего шаблона в какую нибудь дальнюю папку куда рука просто так не потянется, а затем открывайте файлы шаблона и меняйте там что душе угодно, синтаксиса CSS и HTML на чем и держаться эти шаблоны везде хватает Улыбка
sKaa Отправлено: 11 Мая, 2012 - 22:50:35 • Тема: Вопросы от новичков • Форум: Вопросы новичков

Ответов: 74
Просмотров: 2829
incker, endif; endwhile; endforeach - обычные синонимы тех самых фигурных скобок, но названы гордым именем альтернативного синтаксиса, ничем экзотическим они от своих собратьев не отличаются, кроме как зрительным восприятием, и это это только "может быть" Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. if(TRUE) :
  3.   ...
  4.   ...
  5. elseif(TRUE==FALSE) :
  6.   ...
  7. else :
  8.   ...
  9. endif;
  10.  

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

PHP:
скопировать код в буфер обмена
  1.  
  2. $a = 30;
  3. $b = 20;
  4. $c = 10;
  5. while($a > 0):
  6.    $a--;
  7.    while($b > 0):
  8.       $b--;
  9.       if($b == 10) :
  10.          break 2; // Прерывает итерацию оставшихся двух циклов ($b > 0 & $a >0)
  11.       endif;
  12.       while($c > 0):
  13.          $c--;  
  14.          if($c == 5) :
  15.             break 1; // Прерываем итерацию ближайшего цикла ($c > 0);
  16.          endif;
  17.       endwhile;
  18.    endwhile;
  19. endwhile;
  20. echo $a . '<br> ' .  $b . '<br> ' .  $c;
  21.  


Собственно break; полностью прерывает все последующие итерации любого цикла и полностью останавливает его, условно говоря переходит сразу за предел цикла, в качестве необязательного аргумента принимает числовое значение, в котором указано кол-во циклов которые нужно прервать!
Важно не путать с continue; который в свою очередь призван прервать только текущую итерацию!

Стыдно товарищи! А еще боремся за почетное звание форума культуры и быта!)))) ™ "Иван Васильевич меняет профессию"
sKaa Отправлено: 11 Мая, 2012 - 22:40:05 • Тема: шаблоны/дизайны для joomla • Форум: HTML, Дизайн & CSS

Ответов: 7
Просмотров: 1527
Спешу Вас огорчить пренеприятнейшим известием, но на тематических форумах где люди изучают сам язык днем с огнем не не найти джуумла-дрочеры с списком ресурсов аля "Всё для Joomla"
Тут интересуются языком как средством воплощения собственных идей, а не как ни одним из его в чем-то может даже и бездарных воплощений в виде этой CMS... Хотя это мое личное мнение и я не хотел вас как-то задеть или обидеть, это очень важно !Улыбка
Кстати тему надо было создать в разделе Фрейворки, CMS и всё смежное.

Хтмл и CSS тут вообще никаким боком, если конечно вы не собрались сами написать новых шаблонов для джумлы ))
sKaa Отправлено: 11 Мая, 2012 - 22:20:43 • Тема: строковое условие • Форум: Вопросы новичков

Ответов: 2
Просмотров: 122
ЧПУ паразитирует у вас на сайте?
Ну, а в целом хотелось бы видеть код класса "noname" который и содержит эти самые методы options(array $array = array()) { .. и add_announce(array $array = array()) { ...
тут важно убедиться, что у метода номер один вообще реализован "текучий интерфейс" , все прикольно и метод возвращает $this; и вы правильно делаетe что пишете так (method_one()->method_two() .. ), а не :

Спойлер (Отобразить)

Да и вообще лично у меня сомнения по поводу массива в качестве аргумента второго метода, да еще и с явным значением вместо указания ключа(default key 0 ? ). Методы в студию!
(Добавление)
Кстати это ваше "строковое условие" с подобной конструкцией = ( TRUE ) ? TRUE : FALSE; - называется "тернарный оператор"
sKaa Отправлено: 11 Мая, 2012 - 21:59:50 • Тема: Joomla и Yii • Форум: CMS и фреймворки

Ответов: 15
Просмотров: 8830
Crew1251, Yii - фреймворк это набор функций которые чаще всего использует программист для написания приложения с нуля, благодаря фреймворку эта рутина отпадает, дело за малым - выкурить маны по фреймворку и начать что-то делать, всякие там шаблончики страничек рисовать да условия в них тыкать разные. "Значит так : повеливаю тут модуль авторизации подключить, да чтоб каптча глаза простому люду не резала!", "По щучему велению : хочу тут опрос, а там гостевуху, да что уж там, гулять так гулять! Хочу разные шаблоны для каждой из страниц!", но модуль авторизации конечно придется самому ручками сделать, зато сам решаешь логин или мыло, а в джумле все за тебя предусмотрено, плохая гибкость CMS это конечно минус, и плюс к фреймворкам.

Joomla - CMS, это уже полностью написанное приложение, со своими наборами функций для рутинных задач, со своими решениями и подходом к проблемам. Там все сведено не к фантазии программиста который на основе каких-то базовых методов может сделать из фреймворка практически всё что угодно ограничиваясь лишь своими знаниями и фантазией. Там сведено все к тыканью галочки "включить опросы тут, еще тут и вон там, пожалуйста!"

Эти вещи в принципе не совместимы... Хотя... Чем черт не шутит... Нет, всё-же они никак не совместимы. У них все разное, вплоть до архитектуры приложения, не представляю даже как можно наклеить готовую вещь, на "заводскую деталь" которая только готовится впоследствии стать "готовой вещью".
sKaa Отправлено: 11 Мая, 2012 - 21:26:38 • Тема: что неправильно • Форум: Вопросы новичков

Ответов: 23
Просмотров: 810
Green, мое мнение - плохие примеры кода еще больше подталкивают новичков к стилю кода "говнокод" или "индусский код" тут еще важно учитывать склад ума новичка по скольку оба эти стиля совершенно разные, и зависят не столько от задачи приложения, а от количества строк в нем или несуразных решений простых задач, но ничего хорошего в них обоих нету.
В том время как красивые и в тоже время простые примеры без лишних плясок с бубном мотивируют новичков на совершенствование навыков! - имхо!
(Добавление)
Немного дополнил свой код проверкой состояния сессий Улыбка
(Добавление)
И <? echo $_SERVER['PHP_SELF']; ?> легко можно заменить на <?=$_SERVER['php_self']?>, конечно это функция требует включенной директивы в пхп.ини (short_open_tag но могу ошибаться), обычно она включена если всякие денверы стоят.
(Добавление)
И вообще пока не пришла ТС и не занялась обыденным копи-пастом я заменил :
form action="<?=$_SERVER['php_self']?>"
на : так наверное будет самое лучшее решение, но необходимо всё-же тестить, у меня не установлены сейчас ни апач ни модуль пхп ессно к нему, пишу на холстах так сказать Улыбка
form action="<?='http://' . $_SERVER['HTTP_HOST'] . '/' . current(explode('?', $_SERVER['PHP_SELF']))?>"
sKaa Отправлено: 11 Мая, 2012 - 21:21:54 • Тема: обратный отсчет на js • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 104
Ну я тебе написал, на той самой странице где необходимо с завидной регулярностью обновлять твои данные необходимо подключить js library : jQuery,
далее, где нибудь в конце хтмл скелета твой страницы написать что-то типо :


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function() {
  3.   var timer = setInterval(function() {
  4.        $.get('tvoi.php?skolko_vremya', {}, function(e){
  5.              alert(e); // Только вместо alert(e) нужно как-то тебе выделить элемент страницы-виновник торжества и убрать слеши комментов у нижеследующей строки
  6.              // $('#timeoclock').html(e);
  7.        }
  8.    }, 2000);
  9. });
  10.  
  11.  
sKaa Отправлено: 11 Мая, 2012 - 21:12:36 • Тема: что неправильно • Форум: Вопросы новичков

Ответов: 23
Просмотров: 810

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



Каролина ! Я те все волосы повыдергаю если ты мне спасибо не нажмешь!!!! ))) И всем остальным тоже кто проявлял внимание к твоим непонятным кусочкам полу-кода бл....ь!!!

Страниц (65): В начало « ... 20 21 22 23 [24] 25 26 27 28 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB