PHP категоризовано
PHP - це лише мова клею, подібно до BASH або Perl. Це добре, але не добре ні в чому іншому, залишати окремо серйозну роботу. Мова не розроблена. Він просто розвивається шляхом злому різного коду разом на випадковий спосіб (код-і-виправлення).
Складені мови
На відміну від PHP, Java - це компільована мова, яка була правильно розроблена. Існують JSR, що визначають мову, багато корпоративних рамок і концепцій, таких як EJB, JMS, ESB, Spring, Struts, Hibernate та інші.
Корпоративне програмне забезпечення
Що стосується корпоративних систем, Java EE - це рішення, яке відповідає цілі (Enterprise Edition), тоді як PHP використовується в компаніях, які намагаються знизити витрати, наймаючи дешеву робочу силу з меншою кваліфікацією.
Докладено значних зусиль для перетягування PHP в сегмент Enterprise, використовуючи різні рамки. Найбільше - Zend Framework 2 . Принциповою проблемою тут є не об'єктно-орієнтована PHP, але це відсутність дизайну, відсутність сильної типізації, нестандартні рішення стандартних проблем (вид хак для всього) та повна відсутність будь-якої встановленої архітектури.
Дизайн програмного забезпечення (обговорюється архітектура)
З PHP тягар архітектурного програмного забезпечення все ще повністю покладається на розробників, які роблять дуже погану роботу, тобто часто не мають архітектури взагалі, просто випадковим чином кодують і виправляють. Безпека та транзакції відсутні, тому розробники потребують вподобання. У Java одне рішення - це примітка EJB. Також врахуйте той факт, що в PHP нічого не відбувається, якщо ви упустите вилучення винятків або робите різні помилки. Це до часу виконання. З Java ви отримаєте попередження та помилки безпосередньо під час проектування. Це називається стійкістю, але з PHP ви можете продовжувати лише мріяти.
Багатопотоковість
PHP не підтримує багатопотоковість. Код - це завжди один потік. Це перешкоджає його роботі для нетривіальних проблем при більшому навантаженні. З Java EE багатопотокова редакція повністю підтримується, наприклад, через інтерфейс Runnable.
Підтримка та стандарти
Також врахуйте стандарти розгортання, веб-сервіси та інші стандарти. Якщо в Java є великі компанії, такі як Oracle, IBM, RedHat, Apache та багато інших, PHP має лише Zend.
Висновок
На закінчення, PHP - дуже погана об'єктно-орієнтована мова. Строго кажучи, він навіть не об'єктно-орієнтований, а гібридний, що погано від версій> 5, оскільки OOP змішується з процедурним програмуванням. Я б тільки рекомендував PHP як клей, як BASH, але для серйозної роботи я використовував би Java EE.
Споріднені думки
Основна угода з останнім Zend Framework 2 полягає в тому, що він намагається бути схожим на Java EE, але повністю не вдається доставити принаймні віддалений порівняльний набір доступних пакетів, функцій, інструментів, автоматизації, перевірки помилок, архітектури, дизайну та все.
На мій досвід, використовувати PHP для складних проектів дорожче, ніж для Java.
Існують також чутки, наприклад, що PHP означає «Досить жахливе програмування» . Я можу це підтвердити.