Який хороший спосіб ознайомитись із PHP, що виходить із фону ASP.NET? [зачинено]


10

В даний час мені дуже зручно створювати інструменти / веб-додатки в середовищі ASP.NET. Я не дуже хочу залишити tbh, оскільки мені дуже подобаються C #, ASP.NET, MVC 3, Visual Studio тощо.

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

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

Я переглянув Посібник з PHP зовсім небагато, і він, здається, не протікає так гладко, як це може бути ідеально. Чи є початкова книга PHP, яка була б доречною? Мені не вистачає згуртованості, яку містить більшість книг при перегляді цих зразків. Інформації є багато, але вона більше схожа на довідку під час кодування, ніж на первинному навчальному засобі.


5
Чому ви вважаєте, що незнання PHP - це недолік, який потрібно усунути. Не знаючи, що Rails, Django, J2EE, node.js і т. Д. Є недоліком, який потрібно усунути? Чи існує реальний попит на те, щоб ти знав та використовував PHP у своїй нинішній роботі?
Райнос

1
@Raynos Ну популярність php більша, ніж рейки, django, node.js разом ...
yannis

Чому (не полум’я) ви хочете покращитися з PHP? Це для того, щоб навчитися розвиватися в більш динамічному, інтерпретованому середовищі чи більше тому, що там так багато?
sbrenton

1
@Raynos - частка ринку. Коефіцієнти деяких знань про php, які корисні для порівняння рішень, оцінки проблеми, допомоги друга тощо, вищі, ніж приклади, які ви перелічили imo. У мене немає бажання відходити від asp.net, тому знання "найкращого" альтернативного середовища є менш корисним, ніж знання найпопулярнішого.
Ерік

1
Потрапте в MVC3, що може стати гарним першим кроком
Даніель Літтл

Відповіді:


7

Найкращий ресурс для вивчення PHP - це посібник з PHP . Це надзвичайно добре написано та добре структуровано, і це одне з найбільших надбань спільноти PHP. Якщо ви впевнені в ASP.net, цього посібника достатньо, щоб розпочати роботу.

Перш ніж почати читати, вам слід встановити стек PHP. Ви можете встановити Apache, PHP та улюблену базу даних (SQLServer чудово) власноруч (це надзвичайно просто), або ви можете встановити готовий стек на зразок XAMPP . XAMPP встановить:

все за один раз (плюс деякі інші речі). Однією важливою бібліотекою, якої вона не вистачає, є phpUnit , яка, очевидно, допоможе вам у тестуванні одиниць.

Тоді вам слід встановити IDE, очевидним вибором є Eclipse Classic із засобами розробки PHP (PDT) або Netbeans для PHP . Є багато інших, але ці два я рекомендую. Я використовую їх обидва, якщо ви не можете вибрати між ними Netbeans - трохи простіше розвісити, але ви дійсно повинні оцінити обидва і вирішити для себе, який з них краще - я не працював з Visual Studio в тривалий час, і я справді не знаю, який ІДЕ може бути вам більш знайомим.

Коли ви ознайомтеся з основами цього посібника, ви повинні почати продумувати рамки MVC. Знову рекомендую два:

Zend Framework - звір, а CodeIgniter - краса, якщо ви дозволите мені дурну метафору. Zend Framework має круту криву навчання, підтримується Zend ( компанія, що стоїть за PHP ), і ви можете зробити майже все з цим. CodeIgniter набагато простіше розвісити, має приємну документацію для початківців і це досить популярно. Але більша частина кодової бази - це застаріле лайно, як раніше вони підтримували PHP4.

Для початківців очевидний вибір - CodeIgniter, але не зациклюйтеся на ньому. Використовуйте його як інструмент навчання та якнайшвидше перейдіть до Zend Framework. Знову є набагато більше фреймворків MVC у світі PHP, але саме ці два я рекомендую.

Що стосується книг, то чудовою книгою для початківців є об'єкти, шаблони та практика PHP . Sitepoint «s PHP книги завжди приємно для читання. Якщо ви закохаєтесь у PHP, вам слід розглянути підписку на архітектора PHP .

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


Оновлення: ще кілька інтернет-ресурсів, які в основному націлені на новачків:

і якщо ви з якоїсь дивної причини хочете пограти з PHP на IIS замість Apache, хорошим вихідним місцем є PHP Microsoft в Windows . PHP на IIS працює і є вагомим вибором, особливо для розробника .Net, але вам слід дійсно працювати з Apache (і MySQL або PostgreSQL замість SQLServer), щоб отримати повний досвід PHP, а також переконатися, що ваші навички переносяться на будь-який інший популярний ОС. Ви не хочете пропустити радість, яка є mod_rewrite .


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


2

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

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

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

Ще одним було те, як легко можна змішати все в PHP, що робить речі набагато складнішими. У .NET інструменти, які ви використовуєте, такі як Visual Studio, спрямовують вас на практику хороших стандартів кодування, виконуючи певну роботу за вас. Зазвичай на сторінці .aspx це розмітка HTML і код C # розділені на два файли.

Якщо ви є великим користувачем інструментів .NET і вважаєте за краще працювати з елементами управління ASP.NET, все ж іншою проблемою для вас є відсутність елементів керування (GridView тощо) у PHP. Я знаю, що існує багато бібліотек / фреймворків, які надають вам щось подібне, але вони не є точно частиною базового пакету PHP.

Інша проблема для мене полягала в тому, як у PHP існує велике використання масивів та хешей, які більше схожі на колекції в .NET. Вони є скрізь, і було б добре звикнути до того, що масиви - це не просто упорядкований список однотипних об'єктів / скалярних одиниць. Вони можуть надавати сервери як колекційні об’єкти для розміщення всіляких речей.

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


У моїй відповіді я отримав посилання на php-книги Sitepoint, всі вони чудові. Чи можете ви трохи розширити свою відповідь, щоб сказати нам, що peculiar issues when developing large scale applicationsви виявили? Оскільки у вас є .net фон як оп, було б корисно знати, що .net люди відчувають, що властиво php.
янніс

Гаразд Янніс, одне питання для мене полягало в тому, як PHP не є строго об'єктно орієнтованим, він мав усілякі функції в процедурній формі та об'єктно-орієнтованій формі, і це якось потребувало певного часу, щоб звикнути з мови, яка так організована не тільки в просто класи, але всі ці простори імен і все.
цега

Гммм, це загальне питання, а не лише when developing large scale applications. У будь-якому разі, я думав більше про концептуальні та підхідні питання, як PHP використовує зовсім інший підхід від .Net щодо масштабування питань, щось подібне. У мене дуже мало досвіду роботи з .Net, тому мені було б цікаво дізнатися, що .Net люди знаходять концептуально своєрідними, коли приходять на PHP. Але такі речі, як той факт, що PHP є багатопарадигмою, слід очікувати, звичайно.
янніс

1
З точки зору підходів, більшість розробників ASP.NET, як правило, використовують користувацькі елементи керування (компоненти - це комбінація HTML-елементів з JavaScript та сервером коду) для розробки своїх "масштабних" (об'ємних даних) додатків. Це пов'язано з тим, що більшість розробників ASP.NET фактично перейшли до веб-розробки з розробки додатків для настільних ПК, використовуючи майже ті самі інструменти. Тому більшість шукає способів перетворити свої вже набуті навички роботи з користувацькими елементами управління, щоб відповідати веб-розробці.
цега

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