Які переваги PHP? [зачинено]


14

Всім відомо, що люди, які мають забобони щодо певних мов програмування. Особливо PHP, здається, страждає від проблем свого минулого та деяких інших речей (наприклад, вільних типів) і його часто називають несерйозною мовою програмування, яку не слід використовувати для професійних програм.

У цьому спеціальному випадку PHP: Як ви міркуєте, використовуючи PHP як обрану мову програмування для веб-додатків? Які переваги, де PHP кращий за ColdFusion, Java тощо?


5
PHP - це регіоналізований, малоінвазивний підхід до лікування раку, який зараз проходить клінічне тестування фази II та III фази. PHP також може допомогти краще зрозуміти хеш-колізії. Організатори проекту PHP також допомагають різним правоохоронним органам боротися з приватними та комерційними непроханими злочинами масової розсилки та загальною роботою задля зменшення кількості відправленої та отриманої спаму в Інтернеті. PHP пропонує групи підтримки в декількох десятках локацій по всій Массачусетсі. PHP - це тип програми, що використовується для лікування психічних захворювань та наркоманії. PHP знаходиться на рівні 3 MPLS VPN (RFC2547).
Робота

Кожна мова має своїх ненависників / шанувальників. Я б не сказав, що PHP особливо ненависний порівняно з іншими мовами. Вплив я б сказав, що чим більше захоплюється мова, тим більше ненависників має. Я впевнений , що ми могли б кодифікувати , що: (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age). Де AcmeContant не змінюється для всіх мов <(;-)
Мартін Йорк

1
Я використовую php, щоб продемонструвати людям, як не створювати мови.
dan_waterworth

Відповіді:


13

Джош К вказав на деякі досить непогані моменти , тому я не хочу це ще раз повторити. Натомість я додам ще трохи.

Це трактується.

Просто FTP / SSH у ваш обліковий запис, змінити речі потрібно змінити і заздалегідь! Не потрібно компілювати, розгортати та перезавантажувати сервер.

Звичайно, це щось переконливе для людей, які працюють у неформалізованому середовищі розробки, без контролю версій, автоматизованих тестів, автоматизованих збірок тощо.

Насправді це просто

Серйозно. Принаймні, для справжнього новачка це справді просто. Настільки просто, що коли мій двоюрідний брат виявив зацікавленість навчатися програмуванню, я купив йому книгу Python. Конвенції PHP можуть навчити вас деяким шкідливим звичкам.

На це здатний

У мене все життя взаємна ворожнеча з мовами C / C ++. Якось ми не любимо один одного. У той час як в університеті, коли мені доводилося робити проекти, що стосуються обчислень, я б обрав PHP через C ++ і в кожному випадку я міг би досягти того, що задумав. Можливо, виконання програми було насправді повільнішим, ніж якби це було написано на C ++, але це не було фактором у цьому випадку.

У всякому разі: нейронні мережі, генетичні алгоритми, нечітка логіка ... Я все це робив на PHP. Так ... люди говорили мені, що я дивний.


+1 для інтерпретованих та дієздатних. Одна річ, яка мене завжди заважає робити веб-роботу з Java - це постійна необхідність перекомпілювати та розгортати. Використання чогось подібного до Grails полегшує щось із цього, але це ніде не так добре, як PHP.
Джош К

Інтерпретоване та здатне - це справді хороший аргумент. +1 Усі відповіді були хорошими і вдалися до хороших аргументів, але ваш підсумував це досить добре.
акме

Просто подивіться на цей код для роботи з 64- бітовими цілими числами: mysqlperformanceblog.com/2007/03/27/… Ви серйозно це називаєте?
ThomasX

Ні, я ні. Зверніть увагу, я писав: "Принаймні, для справжнього новачка це дуже просто". Справжнім новачкам зазвичай не потрібно турбуватися з портативністю між платформами (якщо це добре - це зовсім інше питання). Загальна порада: якщо ви плануєте мати справу з великими цілими числами в PHP, використовуйте розширення BCMath (і так, я знаю, це не найкраще рішення, яке може бути ... але саме так PHP є))
Mchl

17

З цим не всі погоджуються, але я думаю, що ще одна причина, по якій PHP є настільки популярною, полягає в тому, що легко отримати безкоштовний хостинг-акаунт.

Багато молодих студентів, які бажають потрапити в веб-розробку, обирають PHP, оскільки налаштування сервера в Інтернеті нічого їм не обійдеться, і тому вони можуть пограти з ним / дізнатися про нього безкоштовно.

Хоча існують варіанти безкоштовного хостингу для інших мов (java, ruby, .net), до них набагато складніше.


Вартість, безумовно, є головним фактором широкого використання.
Увімкнення

14

Шаблон

PHP має вбудовані шаблони, не маючи дивних тегів, розбору або накладних витрат. Деякі люблять це, деякі ні.

Портативний

PHP можна запустити майже на кожному сервері та на більшості платформ. Насправді це буде працювати на більшості кожному сервері. Ви можете запустити його під IIS, Apache, Nginx тощо. Це означає, що у вас є один раз запис - запустіть будь-де портативність. Ця портативність має деякі обмеження, залежно від параметрів середовища, які ви повинні підтримувати. Це буде відрізнятися між комерційними програмами та відкритими / широко розповсюдженими програмами.

Популярні

PHP має величезну спільноту і все ще зростає. Ця спільнота є результатом великої популярності PHP. У вас дуже активні списки розсилки, дискусійні форуми та велика кількість людей, які можуть відповідати на запитання під час розробки.

Вартість

Сам PHP безкоштовний, і більшість елементів, з якими він працює поза коробкою (Apache, PostgreSQL, MySQL), є безкоштовними. Це дає вашому проекту дуже низький поріг початкової вартості.


Я б не сказав, що портативність була сильною стороною PHP. Якщо ви хочете насправді писати портативний PHP, вам доведеться подолати той факт, що мова може бути налаштована безліччю різних способів, наприклад, ви повинні перевірити параметр config для магічних лапок і запустити, stripslashes()оскільки в деяких є опція config, а деякі don 'т.
Джим

2
@Jim - Це набагато портативніше, ніж більшість речей.
Увімкнення

@Orbling - Дійсно? Які подібні риси інших мов ви думаєте?
Джим

1
@Jim: Я пишу код, який очікує "найкращої практики". Якби я робив проект ОС я б пропонував ряд варіантів / налаштувань (наприклад, magic_quotes_gpcвиявився вимкнено ). Найкращий спосіб вирішити це (якщо вам доведеться) - це інкапсуляція цих блоків обробки if / else в допоміжні функції, що позбавить від необхідності ввімкнути перевірку лапок з кодом програми.
Джош К

1
@Josh - Я би зробив те саме, що і ти, якби я все-таки писав PHP у будь-яких великих розмірах в ці дні, але якщо ваш код залежить від середовища "кращих практик", він не є портативним. Зокрема, він матиме помилки з пошкодженням даних на багатьох шалених хостах, оскільки до всіх даних, що надаються користувачем, додаються хибні риски. Зважаючи на те, що всюдисущість хостингу PHP вважається однією з головних переваг використання PHP, я вважаю, що справедливо брати до уваги всі ці хитрі хости. Описані вами допоміжні функції - це типовий спосіб вирішення цього питання, але це спосіб вирішити проблему переносимості.
Джим

5

PHP є скрізь. Незалежно від того, який у вас божевільний дивний веб-хостинг, PHP не буде встановлено на ньому. Це означає, що якщо ви пишете веб-додаток, який повинен працювати на чужих серверах, ви завжди можете залежати від певного набору функцій PHP (класи PHP 4/5 та розширення за замовчуванням) та збільшувати базу користувачів, зменшуючи підтримку.


5

Наявність Практично кожен веб-хост підтримує його

Швидкість розвитку Все, що вам потрібно, це текстовий редактор, не потрібна компіляція

Просте налаштування Навіть якщо він не встановлений, його легко встановити, навіть він постачається з пакетами LAMP / WAMP

Документація Є багато прикладів, групи підтримки, книги тощо.


1

Деякі переваги PHP:

  • Вбудована обробка файлів для введення файлів
  • Вбудована обробка даних із GET, POST та COOKIES
  • Вбудоване управління сесіями
  • Швидко писати
  • Легко змішувати код та HTML (зверніть увагу: це також сприймається як недолік)

Тепер у нього також є кілька яскравих недоліків:

  • Немає поняття локальних змінних ... змінні є ні глобальними, ні функціональними. Це буде горіти вам в якому - то момент, особливо якщо ви використовуєте петлю.
  • Глобальні змінні недоступні в області функцій, якщо ви спеціально не запитаєте їх за допомогою globalключового слова.
  • Середовище програмування змінюється на основі php.ini. Це включає в себе зміни в поведінці конкретних функцій і вбудованих масивів (наприклад , $_GETі $_POSTзначення зміни на основі magic_quotes_gpcналаштувань)

1
Ніхто з розуму не продовжував би бути magic_quotes_gpcвключеним. Я сумніваюся в розумності людини, яка додала в першу чергу це нікчемне здуття двигуна.
Джош К

1
"Глобальні змінні недоступні в області функцій, якщо ви спеціально не попросите їх" - не зрозумійте, як це є недоліком. Є мови, які роблять це так, є й інші, які цього не роблять.
Mchl

1
@Mchl: Більшість мов цього не роблять, і це певна проблема, якщо ви про це не знаєте. TCL є єдиною іншою мовою, якою я користувався, вгорі голови.
Powerlord

1
@Josh K: Первинний сервер моєї попередньої компанії все ще ввімкнений, як це любив головний програміст до мене, і як такий більшість старого застарілого PHP-коду, що плаває, покладався на нього. Немає часу перекодувати сотні веб-сайтів. : - /
Увімкнення

1
@Mchl: Ада прагне звикнути там, де невдачі призведуть до смерті, багато смерті. adaic.org/advantages/projects
Orbling

1

Я думаю, що деякі люди не люблять PHP, тому що ви можете використовувати його так, як вам подобається / вважаєте за потрібне. Тому що кожен може використовувати його дуже легко, у світі потрапляє багато хитрого коду. Деякі програмісти, які ніколи не робили реального PHP там, можуть вважати це так, як ви працюєте з PHP. А деякі люди не люблять PHP, тому що їм подобається щось інше і бояться нового або іншого.

Мені особисто подобається PHP, тому що я можу запускати його майже в будь-якому місці. Ви можете отримати багато допомоги в Інтернеті, і це безкоштовно. Також є кілька хороших рамок, таких як Zend Framework. Але більшість людей не можуть обійтися там.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.