| |
|
|
| | В арсенале рнр очень много всяких функций и они запоминаются и осваиваются мною довольно медленно. Скажите, а вы в повседневной работе используете весь пакет рнр полностью? Или по мере накопления опыта образуется некий не слишком большой перечень операторов, для использования которых достаточно спинного мозга? Если это так, то какой примерно объем знаний достаточен для вашей текущей работы? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 11:43)
| | | Все зависит от решаемой задачи... | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 11:43)
| | | специалист - не тот, кто хранит кучу информации в памяти, а тот, кто знает, где ее можно
быстро найти. но для этого надо хотя бы знать, что искать. и хорошо бы еще знать - где. :) | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 11:43)
| | | Пока вы не будете использовать какие-либо функции, вы их не запомните. А для их напоминания и поиска и существуют мануалы. Сколько раз замечал, что зачастую тех.литературу читаешь "в стол". То есть когда доходит до решения конкретной задачи, вспомнить решение невозможно, зато есть знание, о том, что такая задача решима конкретным языком. | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 11:43)
| | | Запоминаются до уровня спинного мозга обычно конструкции языка (циклы, условные операторы, порядок создания и вызова функций и т.п.), функции запоминают в меньшей степени, чтобы можно было легко забыть и переключиться на другую библиотеку и язык.
PS Почему, кстати, язык C++ и считается самым сложным - там дикое количество конструкций языка (программисты зачастую работают с подмножеством C++, а уж функции многочисленных библиотек просто не реально запомнить). | |
| |
|
|
| |
|
|
| |
для: cheops
(16.11.2006 в 13:06)
| | | Не смотря на то, что я согласен со всем вышеизложенным, сам вопрос показался мне любопытным. И я набросал простейший скрипт, который считает примененные стандартные функции во всех файлах в каталоге.
<?php require_once('config.inc.php');
$f = get_defined_functions();
$f = $f['internal'];
foreach($f as $p) if($fun[$p] = 0);
unset($f);
foreach(glob('*.php') as $fnm)
{
$r = token_get_all(file_get_contents($fnm));
echo "$fnm<br />";
foreach($r as $v)
if(is_array($v) && $v[0] == T_STRING && isset($fun[$nm = strtolower($v[1])]))
++$fun[$nm];
}
arsort($fun);
echo "<hr />";
foreach($fun as $name => $cnt)
if($cnt)
echo "$name - $cnt<br />\r\n";
?>
|
Может кого заинтересует :) | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.11.2006 в 13:20)
| | | Что-то у меня этот скрипт ничего не показал...
Похоже, что число функций в моем арсенале меньше нуля. | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.11.2006 в 13:20)
| | | пардон.
require_once('config.inc.php'); - тут явно лишний. Случайно остался. | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.11.2006 в 14:23)
| | | stripslashes - 176
mysql_query - 146
mysql_error - 100
mysql_fetch_array - 99
mysql_num_rows - 21
date - 20
session_start - 17
header - 15
str_replace - 12
mysql_result - 8
count - 8
trim - 8
sizeof - 7
strtolower - 7
mktime - 6
eregi - 6
split - 5
explode - 5
fclose - 4
each - 4
session_id - 3
substr - 3
ini_set - 3
strftime - 3
htmlspecialchars - 3
fopen - 3
time - 2
preg_match - 2
array_reverse - 2
sort - 2
flock - 2
file - 2
printf - 2
fputs - 2
reset - 2
mail - 2
extract - 2
nl2br - 2
feof - 2
fgets - 2
mysql_escape_string - 2
parse_url - 2
floor - 2
preg_replace - 1
intval - 1
ceil - 1
natsort - 1
is_array - 1
md5 - 1
token_get_all - 1
glob - 1
arsort - 1
is_writable - 1
round - 1
ereg_replace - 1
mysql_select_db - 1
ereg - 1
fsockopen - 1
addslashes - 1
session_destroy - 1
session_is_registered - 1
mysql_numrows - 1
get_defined_functions - 1
unserialize - 1
mysql_connect - 1
join - 1
file_get_contents - 1
serialize - 1
fwrite - 1
strlen - 1 | |
| |
|
|
| |
|
|
| |
для: elenaki
(16.11.2006 в 14:27)
| | | в админском модуле побольше будет (это без учета вложенных папок).
прикольный скрипт :)
mysql_query - 665
stripslashes - 583
mysql_error - 566
addslashes - 484
mysql_fetch_array - 234
substr - 190
strval - 166
str_replace - 149
mysql_num_rows - 147
session_start - 121
time - 103
session_id - 102
mysql_result - 75
strftime - 50
explode - 43
trim - 41
date - 38
sizeof - 36
fclose - 35
fopen - 35
mktime - 35
header - 30
ceil - 30
flock - 29
mysql_numrows - 24
urldecode - 22
fputs - 20
file - 20
set_time_limit - 19
ini_set - 18
copy - 17
printf - 16
filesize - 14
round - 14
fread - 14
fflush - 11
strtolower - 11
mysql_fetch_row - 10
mysql_affected_rows - 10
ereg - 10
strlen - 9
count - 9
htmlspecialchars - 6
implode - 6
nl2br - 6
ftruncate - 6
file_get_contents - 4
each - 4
ob_start - 3
ob_end_flush - 3
reset - 2
unlink - 2
split - 2
file_exists - 2
chmod - 2
chr - 2
error_reporting - 2
mysql_escape_string - 2
is_file - 2
compact - 1
fwrite - 1
setcookie - 1
get_defined_functions - 1
move_uploaded_file - 1
mysql_select_db - 1
arsort - 1
is_array - 1
chop - 1
session_destroy - 1
session_unset - 1
getcwd - 1
mysql_connect - 1
token_get_all - 1
eregi - 1
glob - 1
md5 - 1 | |
| |
|
|
| |
|
|
| |
для: elenaki
(16.11.2006 в 14:29)
| | | Когда stripslashes лидирует, и при этом нет ни одного get_magic_quotes_gpc - это страшно. | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.11.2006 в 14:23)
| | | У меня и после корректировки тишина... Разве что вверху экрана появилась полосочка.
У меня рнр версии 4.4.4 Может в этом причина? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 14:54)
| | | до полоски должен быть список файлов, после - список функций.
только все равно не понимаю, зачем знать (наизусть???) эти функции. ведь, даже если они
часто используются, думаю, редко кто пишет их каждый раз заново. сейчас основная работа
программера - найти нужный кусок кода (функцию), понимая, что она делает, и вставить в
создаваемый код, убедившись, что имена переменных соответствуют. например, как-то на
собеседовании попросили написать запрос к базе и вывести ответ. я задумалась. настолько
привыкла копировать код, что пришлось долго вспоминать, как это делается. а зачем такая
потеря времени? | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.11.2006 в 13:20)
| | | Конец я бы написал так:
<?
$total=0;
$sum=0;
foreach($fun as $name => $cnt)
if($cnt)
{
echo "$name - $cnt<br />\r\n";
$total++;
$sum+=$cnt;
}
echo "<hr />";
echo "Всего использовано функций: ".$total;
echo "<br>Среднее использование одной функции: ".$sum/$total;
|
Можно еще ее сделать рекурсивной, но в глубине лежат всякие смарти, майадмины и прочая лабуда:) | |
| |
|
|
| |
|
|
| |
для: Loki
(16.11.2006 в 15:15)
| | | Её нужно сделать рекурсивной. Но мне стало лениво. А тут еще и работа навалилась полным бюстом. | |
| |
|
|
| |
|
|
| |
для: Владимир55
(16.11.2006 в 11:43)
| | | Я делаю так. Читаю весь мануал подряд и пытаюсь понять для чего каждая из функций. Конечно ничего я не запоминаю, но когда дело доходит до реальной проблемы, я уже могу вспомнить, что "что-то такое там было" и могу поискать по подробнее.
Другими словами, нужно какие функции существуют, а запоминать их синтаксис, никаких мозгов не хватит :) | |
| |
|
|
| |
|
|
| |
для: Temnovit
(16.11.2006 в 16:31)
| | | Да ето точно=)) все запомнить функции моск сломаешь:D Да и зубрить их ето не выход=) Они запомняться сами по себе со временем ( если конечно будеш ими пользоваться ) | |
| |
|
|
| |
|
|
| |
для: Temnovit
(16.11.2006 в 16:31)
| | | >Читаю весь мануал подряд и пытаюсь понять для чего каждая из функций.
Кстати, говоря также действую, и все более или мене успешные программисты действуют точно также... Обычно изучение языка сводится к изучению его возможностей - на что он способен, детали извлекаются из справочной литературы по мере надобности. Правда для такой тактики нужно знать более одного языка, т.е. если язык PHP, первый то его библиотеку следует изучить более скрупулёзно. | |
| |
|
|