|
|
| Рядок 1: |
Рядок 1: |
| '''PHP''' (похапе, пих-пих) - [[Бидлокодер|бидлокодерська]] скриптова [[мова програмування]], що використовується на [[Інтернети|веб-сторінках]]. Виконується на стороні сервера. Розроблюється групою [[Бидлокодер|ентузіастів]] і розповсюджується за ліцензію GNU(безкоштовно, з відкритим вихідним кодом).
| |
|
| |
|
| == Короткий огляд мови ==
| |
| ===Типи даних===
| |
| Типізація динамічна.
| |
| *Числові: integer, float, double.
| |
| *Логічні: boolean.
| |
| *Масиви: array.
| |
| *Непотрібні: null, resource.
| |
| ===Синтаксис===
| |
| Синтаксис у похапе доволі гівняний. Майже як у [[Сі]]<ref>Тільки у [[Сі]] не треба ставити бакс перед ідентифікаторами змінних</ref>:<br />
| |
| <pre>
| |
| class a
| |
| {
| |
| public $color = 'red';
| |
| }
| |
| $a = new a();
| |
| echo $a -> color; // red
| |
| $b = $a;
| |
| $b -> color = 'blue';
| |
| echo $a -> color; // blue
| |
| </pre>
| |
| ===Коментарі===
| |
| *<code>//комент</code> - до кінця рядка.
| |
| *<code>/*комент*/</code> - від ''/*'' до ''*/''.
| |
| ===Де використовується===
| |
| В веб. На похапе пишуть всякі «щьотчікі пасітітєлєй» і іншу хуйню<ref>Не обов'язково хуйню. Наприклад рушії mediaWiki і phpBB написаний на похапе...</ref>.
| |
| ===Переваги===
| |
| *Пздц який простий. Навіть мавпа осилить. Навіть поцкаліст.
| |
| *Велика стандартна бібліотека.
| |
| ===Недоліки===
| |
| *Уйьобіщний синтаксис.
| |
| *Через його простоту на ньому пишуть [[95%]] відсотків [[Бидлокодер|бидлокодерів]] світу.
| |
|
| |
| == Приклади коду ==
| |
| <pre>
| |
| echo "Hello, PHPBidlokoder";
| |
| </pre>
| |
| <br />
| |
| А ось тру спосіб перевірити чи зайнятий домен<br />
| |
| <pre>
| |
| // Устанавливаем не ограниченное время выполнения скрипта
| |
| set_time_limit(0);
| |
| $servers = array(
| |
| array("ac","whois.nic.ac","No match"),
| |
| array("ac.cn","whois.cnnic.net.cn","No entries found"),
| |
| array("ac.jp","whois.nic.ad.jp","No match"),
| |
| //...ще 1000 рядків такої хуйні
| |
| array("zlg.br","whois.nic.br","No match"),
| |
| array("zj.cn","whois.cnnic.net.cn","No entries found")
| |
| );
| |
| // Доменное имя
| |
| $domain = "mysql.com";
| |
| // Извлекаем домен первого уровня
| |
| $first_dom = substr($domain, strpos($domain, ".") + 1);
| |
| // Получаем имя whois-сервера, который отвечает за
| |
| // домен $first_dom
| |
| for($i = 0; $i < count($servers); $i++)
| |
| {
| |
| if($servers[$i][0] == $first_dom)
| |
| {
| |
| // Запоминаем имя сервера
| |
| $whois = $servers[$i][1];
| |
| // и фразу, означающую, что домен отсутствует
| |
| $not_found_string = $servers[$i][2];
| |
| // Покидаем цикл
| |
| break;
| |
| }
| |
| }
| |
| // Проверяем определён ли whois-сервер который несёт
| |
| // ответственность за данный доменный уровень
| |
| if(empty($whois)) exit("К сожалению не найден соответствующий Whois-сервер");
| |
| // Обращаемся к whois-серверу и получаем информацию
| |
| // о доменном имени
| |
| $fp = fsockopen($whois, 43);
| |
| fputs($fp, "$domain\r\n");
| |
| $str = "";
| |
| while(!feof($fp))
| |
| {
| |
| $str .= fgets($fp,128);
| |
| }
| |
| fclose($fp);
| |
| // если в ответе имеется фраза-отказ, домен не
| |
| // зарегистрирован, если такой фразы нет -
| |
| // следовательно домен зарегистрирован
| |
| if(!preg_match("/".$not_found_string."/is", $str))
| |
| {
| |
| echo "Домен уже зарегистрирован";
| |
| }
| |
| else
| |
| {
| |
| echo "Домен не зарегистрирован";
| |
| }
| |
| </pre>
| |
| <br />
| |
| Завантаження файла на серв:<br />
| |
| <pre>
| |
| if($_FILES["filename"]["size"] > 1024*3*1024)
| |
| {
| |
| echo ("Размер файла превышает три мегабайта");
| |
| exit;
| |
| }
| |
| // Проверяем загружен ли файл
| |
| if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
| |
| {
| |
| // Если файл загружен успешно, перемещаем его
| |
| // из временной директории в конечную
| |
| move_uploaded_file($_FILES["filename"]["tmp_name"], "/path/to/file/".$_FILES["filename"]["name"]);
| |
| } else {
| |
| echo("Ошибка загрузки файла");
| |
| }
| |
| </pre><br />
| |
| [http://www.softtime.ru/scripts/index.php І т.д.]
| |
|
| |
| == Лулзи ==
| |
| *Завдяки тому, що похапе розроблюють [[Бидлокодер|бидлокодери]], в ньому є така от шняга:
| |
| <pre>
| |
| '1' == 1;//==>True (0_0)
| |
| '1' === 1;//==>False (^_^)
| |
| </pre>
| |
| Тобто типізація настільки динамічна, що при порівнянні двох змінних [[інтерпретатор]] приводить їх до одного типу<ref>Пиздець... Апокаліпсис...</ref>. Для нормального порівняння придумали оператор <code>===</code>(перший операнд дорівнює першому і має той самий тип). Коротко: <code>==</code> - x дорівнює y, <code>===</code> - x пиздець як дорівнює y.
| |
| *Стішок про похапе:<br />
| |
| <pre>
| |
| Растворился в похапе, как в океане-море
| |
| Крыша едет и течет, чао, бомбино, сорри..
| |
| Каша кода и шаблонов, где найти энкодер?
| |
| Разгребу за "Доширак", я ведь быдлокодер!!
| |
|
| |
| Этот код писал индус, сука, злоебучий
| |
| Буду все писать с нуля, я намного круче!
| |
| Левой код пишу в блокноте, правой с телкой в аське..
| |
| Называй меня теперь быдлокодер Вася!!
| |
| </pre>
| |
|
| |
| == Посилання ==
| |
| *[http://php.net похапе.нєт]<ref>(і нє будєт)</ref>
| |
| *[http://php.su мануал]
| |
|
| |
| == Примітки ==
| |
| {{reflist}}
| |
|
| |
| {{Мови програмування|topic = - юзай, бидлокодер}}
| |
| [[Категорія:Мови програмування]]
| |