Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Доработки по данному разделу
Форумы портала PHP.SU » Объявления » PHP документация » Доработки по данному разделу

Страниц (2): [1] 2 »
 

1. EuGen - 19 Февраля, 2013 - 09:41:12 - перейти к сообщению
Приветствую. Итак, несколько основных вещей, которые хотелось бы заметить:
0. Первое сообщение темы. Не должно быть стандартным сообщением. Имя и реквизиты автора не должны отображаться вовсе (собственно, по-хорошему, и самого автора быть не должно, но, понимая, что это - движок форума, нужно было бы, наверное, завести специального пользователя наподобие "PHP.SU" и все темы оного показывать специальным образом). Стало быть, меню правки должно быть особенным или отсутствовать вовсе.
1. Формат. По крайней мере меня во всех мануалах заставляет теряться разбросанность в любом виде. У нас формат более-менее понятный, но хотелось бы формализовать:
array_change_case
Версия PHP: PHP 4 >= 4.2.0, PHP 5
Синтаксис:
array array_change_key_case ( array input [, integer case] )
Параметры:
input - исходный массив, ключи которого требуется преобразовать
case - флаг регистра. Принимает значения CASE_UPPER или CASE_LOWER - соответственно, перевод в верхний или нижний регистры.
Описание:
Функция array_change_key_case() преобразует ключи массива исходный_массив в верхний или нижний регистр символов. Тип преобразования зависит от последнего опционального параметра регистр_символов. В качестве этого параметра вы можете передать одну из двух констант: CASE_UPPER и CASE_LOWER. По умолчанию используется CASE_LOWER. Эта функция не изменяет ключи, состоящие из чисел.
Примеры:
PHP:
скопировать код в буфер обмена
  1. $input_array = array("FirSt" =>1, "SecOnd" =>4);
  2. print_r(array_change_key_case($input_array, CASE_UPPER));

результатом будет:
CODE (text):
скопировать код в буфер обмена
  1. Array
  2. (
  3.         [FIRST] => 1
  4.         [SECOND] => 4
  5. )

Само форматировение (цвета, жирные или курсивные шрифты и т.п.) - дело вкуса, я лишь хотел донести мысль о более четкой структуризации для информации.
2. Исходя из предыдущего пункта, есть предположение, что правка такой темы должна вызывать особую форму правки, куда включены поля: название, версия php, ссылка, синтаксис, параметры (парами название-описание как вариант), описание, примеры (так же парами код-результат)
2. RomAndry - 19 Февраля, 2013 - 09:50:10 - перейти к сообщению
Да, правка будет происходить в другом месте, т.к. это еще вызывается не только на форуме и структура полей содержит всевозможные параметры
3. EuGen - 19 Февраля, 2013 - 09:58:04 - перейти к сообщению
Да, кстати - все функции в примерах обязательно должны быть ссылками. Это исключительно удобно. Упоминаю, потому что в оригинальной теме пример дан в виде раскрашенного участка, но не через теги php (в которых функции заменены ссылками).
4. DeepVarvar - 19 Февраля, 2013 - 23:13:26 - перейти к сообщению
Не могу себе представить куда такое может понадобиться.
Костыль какой-то..
Сглаживать параметры?
Получим дубли страниц..
Внутренние расчеты?
Явно что-то с приложением не так..
5. RomAndry - 20 Февраля, 2013 - 12:28:48 - перейти к сообщению
Создание дублей в форуме для обсуждения, комментариев, примеров использования.
Модерироваться будут как и уроки, строго.
6. RomAndry - 16 Марта, 2013 - 23:34:06 - перейти к сообщению
Выложил в паблик. Постепенно добавляю новые функции.
Рад всесторонней критике и предложеним.
7. armancho7777777 - 17 Марта, 2013 - 05:42:19 - перейти к сообщению
DeepVarvar пишет:
Не могу себе представить куда такое может понадобиться.


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

PHP:
скопировать код в буфер обмена
  1.  
  2. $color = 'yellowgreen';
  3. $colors = array_change_key_case($colors, CASE_LOWER);
  4.  
  5. if(isset($colors[strtolower($color)]))
  6. {
  7.     // ...
  8. }
  9.  
8. DeepVarvar - 17 Марта, 2013 - 07:59:00 - перейти к сообщению
armancho7777777 пишет:
Спойлер ...
Так вернее будет написать массив сразу в нижнем регистре.
Я понимаю что это экономия на комейках.
Но все-же - если ты подгоняешь ключи уже после их объявления - это плохой тон.
(Добавление)
RomAndry пишет:
Рад всесторонней критике и предложениям.

1) Я хотел поинтересоваться зачем это решили делать?

2) Считаю что есть несколько причин, по которые это делать не стоит.
Думаю что лучше, когда справка находятся в одном месте.
На это даже термин соответствующий есть - "Knowledge base".
В нашем же случае зеркалирование описания ф-ций на форум в качестве справочных тем, внесет:

а) сумятицу среди новичков - могут путаться куда идти читать
б) "шизу" у поисковиков, т.к. появятся дубликаты на ресурсе
в) уменьшение трафа посещений и уников на сам ресурс по причине получения справки на форуме

М?
9. armancho7777777 - 17 Марта, 2013 - 15:47:42 - перейти к сообщению
DeepVarvar пишет:
Так вернее будет написать массив сразу в нижнем регистре.

А я его и не писал.
Скопировал с инета, править лень.
Вот функция и выручила.
10. DeepVarvar - 17 Марта, 2013 - 17:59:54 - перейти к сообщению
armancho7777777 пишет:
править лень
Не аргумент: Закатив глазки
11. armancho7777777 - 17 Марта, 2013 - 18:37:37 - перейти к сообщению
Ну, пока больше примеров нету ))
Но в любом случае, думаю, что это костыль для подобных случаев.
(Добавление)
DeepVarvar, а что за редактор на скрине ?
12. DeepVarvar - 17 Марта, 2013 - 18:39:21 - перейти к сообщению
gedit
(Добавление)
Стандартный, без дополнений.
13. EuGen - 17 Марта, 2013 - 18:51:36 - перейти к сообщению
Это сделано как идея с php.net, где функции можно комментировать (и там-то как раз и находятся все наиболее интересные случаи и детали), а так же делать отсылки к урокам и статьям с примерами использования функций (неужели Вам не надоедают стандартные foo и bar во всех примерах, которые слабо показывают возможности конкретной функции?)
14. armancho7777777 - 17 Марта, 2013 - 18:55:43 - перейти к сообщению
EuGen пишет:
Это сделано как идея с php.net, где функции можно комментировать

Да, так было бы лучше.
Особенно есть функции, как на пример для работы с у...бищным GD, которые в полной мере не расскрыты в описании, а примеры пользователей облегчают их понимание.
15. avtor.fox - 17 Марта, 2013 - 18:56:49 - перейти к сообщению
Не совсем понятно.
Какого отличие например от http://php.net/array_change_key_case ?
Или это будет так называемая документация, в которой:
1) - подробное описание функции;
2) - достаточное количество примеров с использованием функции и все ею принимающие параметры;
3) - описание поведения функции в том, или ином случае;
4) - что возвратит функция и почему она не возвращает ожидаемое.

?

upd:
Да, комментирование функции будет отличным дополнением. Но что делать с теми примерами, с которыми ни в лес, ни по дрова?

 

Powered by ExBB FM 1.0 RC1