PHP.SU

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

Страниц (65): В начало « ... 56 57 58 59 [60] 61 62 63 64 ... » В конец

> Найдено сообщений: 972
sKaa Отправлено: 20 Ноября, 2011 - 00:08:58 • Тема: не могу исправить ошибку • Форум: Работа с СУБД

Ответов: 3
Просмотров: 997
Думаю что проблема в том что ты поле Key назвал. Хотя может ошибаюсь
sKaa Отправлено: 19 Ноября, 2011 - 17:35:18 • Тема: В массив выборку из БД • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1061
PHP:
скопировать код в буфер обмена
  1.     $ssql = mysql_query("SELECT ячейка1, ячейка2, ячейка3 FROM таблица");
  2.     $rows = mysql_num_rows($ssql);
  3.     for($k=0;$k<$rows;$k++){
  4.     $arr = mysql_fetch_assoc($ssql);
  5.     print_r($arr);
  6.     }
  7.  
sKaa Отправлено: 19 Ноября, 2011 - 17:05:02 • Тема: В массив выборку из БД • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1061
PHP:
скопировать код в буфер обмена
  1. $ssql = mysql_query("SELECT ячейка1, ячейка2, ячейка3 FROM таблица");
  2. $arr = mysql_fetch_assoc($ssql);
  3. print_r($arr);
sKaa Отправлено: 18 Ноября, 2011 - 22:43:20 • Тема: Перевод • Форум: Прочее

Ответов: 3
Просмотров: 23
Missile - Ракета
sKaa Отправлено: 18 Ноября, 2011 - 03:19:34 • Тема: вывод индекса array_chunk • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 2261
PHP:
скопировать код в буфер обмена
  1. $_CONFIG['Clock_time'] = array(
  2.         1 => 'час',
  3.         24 => 'сутки',
  4.         168 => 'неделя',
  5.         744 => 'месяц',
  6.         4463 => 'полгода',
  7.         0 => 'максимум');
  8. foreach($_CONFIG['Clock_time']  as $key => $value){
  9. echo 'Index : '. $key . ', value : ' . $value . '<br>';
  10. }
sKaa Отправлено: 17 Ноября, 2011 - 18:50:41 • Тема: Может тут кто поможет? • Форум: Работа с СУБД

Ответов: 4
Просмотров: 1212
Чтоб тебе помогли нужно правильно формулировать вопрос и предоставлять максимум информации, а не создавать НОВЫЕ темы
http://forum.php.su/topic.php?fo...42188#1321542188
sKaa Отправлено: 16 Ноября, 2011 - 11:29:45 • Тема: Текучий интерфейс • Форум: Обсуждение статей

Ответов: 13
Просмотров: 6122
caballero пишет:
понятно - высосано из пальца

caballero пишет:
лишь бы вписаться в хрень под диковинным названием "текучий интерфейс".

http://ru[dot]wikipedia[dot]org/wiki/Fluent_interface

А в остальном согласен с EuGen. Должно быть четкое понимание где стоит делать такой "текучий интерфейс" а где нет.
Пацаны расслабьтесь ) я не гуру пхп, только учусь ) Я всего лишь попробовал написать, рад, что тема у вас вызвала хоть какой-то интерес )
sKaa Отправлено: 16 Ноября, 2011 - 01:17:05 • Тема: Текучий интерфейс • Форум: Обсуждение статей

Ответов: 13
Просмотров: 6122
caballero пишет:
Где вы такое "понятие" вычитали.

Где - где. Известно где))
Я готов допустить что метод set не очень удачный пример. Возмножно его просто назвать чуть по другому надо было, и таких интуитивных ассоциаций у тебя не возникало бы..
PHP:
скопировать код в буфер обмена
  1.  
  2. class image {
  3.  
  4. private
  5.         $width,
  6.         $height,
  7.         $img;
  8.  
  9.         public function loadImg($img){
  10.                 /* .... */
  11.                 $this->img = $img;
  12.                 return $this;
  13.                 }
  14.  
  15.         public function imgWidth($w){
  16.                 $this->width = $w;
  17.                 return $this;
  18.         }
  19.         public function imgHeight($h){
  20.                 $this->height = $h;
  21.                 return $this;
  22.         }
  23.         public function Draw(){
  24.                 echo 'Img : ' . $this->img .
  25.                                 ' Width : ' . $this->width .
  26.                                 ' Height : ' . $this->height ;         
  27.         }
  28.        
  29. }
  30.  
  31. $image = new Image();
  32. $image->loadImg('img')->imgWidth('50')->imgHeight('100')->Draw();
  33.  
sKaa Отправлено: 16 Ноября, 2011 - 00:26:15 • Тема: опрос • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 1227
Выводить возможность проголосовать только авторизованным пользователям и сохраняй в базу id тех кто проголосовал.
sKaa Отправлено: 16 Ноября, 2011 - 00:12:43 • Тема: Текучий интерфейс • Форум: Обсуждение статей

Ответов: 13
Просмотров: 6122
Я сразу оговорюсь, что эта статья для тех кто уже хоть чуть-чуть начал или начинает понимать принципы ООП. Я сам ещё можно сказать "New bie" в этом деле.
Итак думаю критики которые сейчас читают эту статью знакомы с понятием "Текучий интерфейс". Примеры можно встретить во многих фрейворках например Zend. Что-же это такое, рассмотрим пример класса Template :
PHP:
скопировать код в буфер обмена
  1.  
  2. class Template {
  3.         public $vars = array();
  4.         public $content;
  5.         public $parse_tpl;
  6.        
  7.         public function set($name, $val = "") {
  8.                 if(!is_array($val)) {
  9.                         $this->vars['{' . $name . '}'] = $val;
  10.                 } elseif(is_array($val)) {
  11.                         foreach($val as $k => $v) {
  12.                                 $this->vars['{' . $name . '}'] .= $v;
  13.                         }
  14.                 } else {
  15.                         $this->vars[$name] = "";
  16.                 }
  17.         }
  18.        
  19.         public function parse($tpl) {
  20.                 $this->parse_tpl = file_get_contents($tpl);
  21.                 foreach($this->vars as $k => $v) {
  22.                         $this->parse_tpl = str_replace($k, $v, $this->parse_tpl);
  23.                 }
  24.                 return $this->parse_tpl;
  25.         }
  26.        
  27.         public function tpl($tpl) {
  28.                 $this->content = file_get_contents($tpl);
  29.         }
  30.        
  31.         public function out_content() {
  32.                 foreach($this->vars as $key => $val) {
  33.                         $this->content = str_replace($key, $val, $this->content);
  34.                 }
  35.                 echo $this->content;
  36.         }
  37.  
  38. }
  39.  


Использовать этот класс достаточно просто, примерно такой описан тут на сайте в одном из уроков : http://php.su/articles/?cat=exam...les&page=006
PHP:
скопировать код в буфер обмена
  1.  
  2. // Создаем экземпляр класса
  3. $tpl = new Template();
  4. $tpl->tpl('template/index.tpl'); // Загружаем содержимое файла в переменную $content внутри класса
  5. $header = $tpl->parse('template/header.php'); // Загружаем содержимое файла в отдельную переменную $header, если разобрать метод класса parse видно, что в конце концов он возвращает строку ( return $this->parse_tpl; )
  6.  
  7. $body =  $tpl->parse('template/header.php'); // Аналогично с предыдущей переменной $header
  8. $tpl->set('header', $header); // Метод заменяет в загруженном шаблоне index.tpl все повторы строки {header} на содержимое файла $header
  9. $tpl->set('body', $body); // Аналогично с предыдущем.
  10. $tpl->out_content();  // Выводим содержимое
  11.  

Итак это был обычный пример. А что если немного изменить наши методы класса, пусть они возвращают нам сам класс как объект после завершения :
PHP:
скопировать код в буфер обмена
  1.  
  2. class Template {
  3.         public $vars = array();
  4.         public $content;
  5.         public $parse_tpl;
  6.        
  7.         public function set($name, $val = "") {
  8.                 if(!is_array($val)) {
  9.                         $this->vars['{' . $name . '}'] = $val;
  10.                 } elseif(is_array($val)) {
  11.                         foreach($val as $k => $v) {
  12.                                 $this->vars['{' . $name . '}'] .= $v;
  13.                         }
  14.                 } else {
  15.                         $this->vars[$name] = "";
  16.                 }
  17.         return $this;
  18.         }
  19.        
  20.         public function parse($tpl) {
  21.                 $this->parse_tpl = file_get_contents($tpl);
  22.                 foreach($this->vars as $k => $v) {
  23.                         $this->parse_tpl = str_replace($k, $v, $this->parse_tpl);
  24.                 }
  25.                 return $this->parse_tpl;
  26.         }
  27.        
  28.         public function tpl($tpl) {
  29.                 $this->content = file_get_contents($tpl);
  30.                 return $this;
  31.         }
  32.        
  33.         public function out_content() {
  34.                 foreach($this->vars as $key => $val) {
  35.                         $this->content = str_replace($key, $val, $this->content);
  36.                 }
  37.                 echo $this->content;
  38.         }
  39.  
  40. }
  41.  

Как видно в методах tpl, set появилась новая строка return $this;
Какие преимущества нам это дает? Более удобный синтаксис :
PHP:
скопировать код в буфер обмена
  1.  
  2. $tpl = new Template(); // Экземпляр класса
  3. $tpl ->tpl('template/index.tpl')  // Загружаем шаблон
  4.       ->set('header', $tpl->parse('template/header.tpl')) // Парсим все {header} на содержимое файла header.tpl
  5.       ->set('body', $tpl->parse('template/body.tpl'))
  6.       ->out_content(); // Выводим контент..
  7.  

Сильно не критикуйте, это моя первая статья) Я ужасно нервничал и мог что-то упустить. Если я где-то тут произвел "подмену терминов" напишите всё поправлю.
sKaa Отправлено: 15 Ноября, 2011 - 18:39:10 • Тема: Про ЧПУ и не только.. • Форум: Обсуждение статей

Ответов: 122
Просмотров: 131206
А я, что не доходчиво объяснял ?( Растерялся
sKaa Отправлено: 15 Ноября, 2011 - 16:48:11 • Тема: Про ЧПУ и не только.. • Форум: Обсуждение статей

Ответов: 122
Просмотров: 131206
Попытайся ещё раз прочитать концепцию прежде чем пытаться объяснить, что ты хочешь.
Ты можешь понять что под ЧПУ тебе нужна совсем другая организация обработки GET запросов?
Попробую на пальцах :
У тебя был запрос : http://escms[dot]ru/single.php?id=1
Он обрабатывался файлом single.php в котором была строчка $id = $_GET['id'];
Теперь ты изменив таким образом свой .htaccess как ты указал выше, ПЕРЕНАПРАВЛЯЕШЬ ВСЕ запросы на файл index.php
Я частично понял, что ты хочешь сделать но для этого тебе нужно писать по новому правилу в .htaccess для каждого файла будь то index.php, single.php news.php или любой другой..
Вместо этого в начале статьи тебе предлагают сделать одну точку входа
Тоесть запрос :
http://escms.ru/single/1 будет обрабатываться сервером как index.php?single/1
что в этом плохого?
А в файле index.php уже разбивай строку запроса как тебе нужно и обрабатывай её, загружая single.php или news.php в зависимости от того что указано в запросе..
sKaa Отправлено: 14 Ноября, 2011 - 23:45:38 • Тема: Про ЧПУ и не только.. • Форум: Обсуждение статей

Ответов: 122
Просмотров: 131206
Тогда зачем ты что-то правишь? Убери эти строки в .htaccess и у тебя по дефолту без правки .htaccess запрос site.ru/reg.php и так адресуется на reg.php я не понимаю что ты хочешь тогда...
sKaa Отправлено: 14 Ноября, 2011 - 22:57:22 • Тема: Про ЧПУ и не только.. • Форум: Обсуждение статей

Ответов: 122
Просмотров: 131206
Проверь в файле настрое Apache (httpd.conf) включен ли модуль mod_rewrite.
LoadModule rewrite_module modules/mod_rewrite.so
Estenny пишет:
Получается, теперь на запрос site.ru/reg меня должно переносить на страницу reg.php и выводить It`s reg.php!? Не-а, выдает ошибку.

Нет. Index.php у тебя теперь единая точка входа. Т.е все запросы site.ru/ будут переадрисовываться на index.php и твой запрос site.ru/reg будет поправде выглядеть в данном случае как site.ru/index.php?reg
sKaa Отправлено: 14 Ноября, 2011 - 19:39:23 • Тема: ООП с самого начала • Форум: Обсуждение статей

Ответов: 47
Просмотров: 13012
DeepVarvar молодец, я сам ещё только-только начинаю понимать все эти термины и многие из них пока для меня дремучий лес. Важно не то, что ты кому-то тут чуть не подменил важные понятия этих терминов, а то, что вообще взялся за это. Считай ты своими словами просто пытался объяснить, как считаешь сам, нужно объяснять человеку который плохо понимает или вообще не имеет представления о этих вещах.

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

Страниц (65): В начало « ... 56 57 58 59 [60] 61 62 63 64 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB