مثير للإعجاب

كيف تبدأ البرمجة في PHP من البداية (بنفسك). لماذا يفشل الكثير من الناس؟ التجربة الشخصية ... التجربة والخطأ

يوم جيد!

ربما ، كل واحد منا ، بعد أن شاهد أفلامًا عن المتسللين والمبرمجين الرائعين ، يود أن يفهم القليل على الأقل في هذا الأمر. وسألاحظ أن لا ، لا ، وهم يطرحون لي أسئلة مماثلة (على الرغم من أنني أستطيع البرمجة ، لكنني بعيد كل البعد عن كونني مبرمجًا محترفًا. وبالنسبة للأشخاص البعيدين عن مجال تكنولوجيا المعلومات ، لا يمكن تفسير ذلك على الإطلاق ...).

بشكل عام ، يوجد الآن عدد غير قليل من الدورات التدريبية المختلفة والكتب والمقالات حول هذا الموضوع على الإنترنت. ومع ذلك ، عندما حاولت بنفسي (تعلم اللغة منهم) من الأسطر الأولى من التعليمات البرمجية "hello world!" في PHP للانتقال إلى شيء أكثر جدية وقابل للتطبيق في الحياة - لا شيء يعمل! كما لو كانت هناك فجوة أو فراغ معين في هذه الكتب: فليس من الواضح كيف ننتقل من أساسيات ومعرفة بعض الوظائف إلى شيء آخر ...

بمرور الوقت ، تمكنت من اكتشاف PHP إلى مستوى كتابة CMS البسيط الخاص بي (CMS هو محرك موقع ويب) وساعدني أحد المقالات في هذا (للأسف ، لم يعد هذا المورد موجودًا على الشبكة ، ومع ذلك ، فأنا ممتن جدًا لهذا المؤلف على هذه "الركلة" في الاتجاه الصحيح).

بناءً على هذه المقالة ورؤيتي ، سأقوم برسم هذه الملاحظة لأولئك الذين يريدون حقًا بدء البرمجة في PHP ، لكنهم يفشلون. بشكل عام ، لدي رأيي الراديكالي حول هذه النظرة ، لذا لن تجد هنا نصيحة بشأن الكتب والدورات - مجرد نظرة على ما يجب فعله بالضبط بناءً على تجربتك ...

*

من أين تبدأ البرمجة (بلغة PHP)

الخطوة 1 - هواية ، الرغبة في حل بعض المشاكل

ربما يكون أهم شيء هو "الاشتعال" ببعض المهام (بدون ذلك يكون من الصعب جدًا دراسة شيء جديد). على سبيل المثال ، في وقت ما كنت بحاجة فعلاً إلى (VERY!) حتى يتمكن برنامج PHP النصي من قراءة ملف نصي معين ، وقطع بعض الأجزاء منه وفقًا للقالب الخاص بي. من ناحية - يبدو كل شيء بسيطًا ، من ناحية أخرى - بالنسبة لشخص لم يكتب سطرين من التعليمات البرمجية بمفرده ، فإن المهمة صعبة للغاية!

اضطررت إلى شراء هذا البرنامج النصي الأول ... ولكن لاحقًا كنت بحاجة إلى نص آخر مشابه (ثم آخر). وهنا ، هنا ، انجرفت إلى PHP ... بالمناسبة ، بعد بضع أمسيات كان من الممكن بالفعل كتابة مثل هذه النصوص بمفردي ، بعد أن عانيت لمدة ساعة أو ساعتين ...

حسنًا ، بشكل عام ، أود أن أشير إلى أنه إذا لم يكن هناك اهتمام بالبرمجة ، فحينئذٍ تبدأ الدراسة بسرعة ، كقاعدة عامة ، بسرعة وتنتهي. وأخشى ألا يقوم أي من الدورات والمعلمين بإصلاحه.

حتى تبدأ في كتابة الكود بنفسك وترى ما هو "معروض" ، وما هو موجود في متغيراتك ، وكيف تتغير البيانات فيها عند استخدام بعض الوظائف ، لا يمكنك البدء في البرمجة (هذا رأيي الصرف!). لن يساعدك أي قدر من الكتب "الذكية".

من الجيد أن تحلم!

بالمناسبة ، يرتكب العديد من المبتدئين (بمن فيهم أنا مرة واحدة) خطأً كبيرًا واحدًا: يقضون الكثير من الوقت في التحضير وتنزيل العديد من الدورات ومقاطع الفيديو. ثم ينظرون إلى كل شيء ، ويدرسونه ، ويكتبونه في دفاتر الملاحظات ، وما إلى ذلك. لكنهم لا يفعلون الشيء الأكثر أهمية - فهم لا يبدؤون في كتابة الكود بأنفسهم ، ومشاهدة كيفية تنفيذه ...

حسنًا ، الآن أقرب إلى الممارسة (إنهاء الفلسفة).

الخطوة 2 - تثبيت أدوات Denwer و Open Server و Notepad ++ و Total Commander. بداية!

لست مضطرًا لشراء استضافة لكتابة البرامج النصية والتجارب الأولى. من الأفضل استخدام خادم ويب محلي مجاني: Denwer أو Open Server (أنا شخصياً أوصي بـ Open Server ، وهنا سأوضح لك كيف وماذا تفعل) ... بالمناسبة ، إذا اخترتافتح الخادم - عندها يكون الحد الأدنى للإصدار كافيًا للبدء (ملاحظة: لا يوجد سوى العديد منها على الموقع ، مع مكتبات مختلفة).

للاتصال المباشر بالرمز (النص) ، من الملائم استخدام خاص. المفكرة مع تمييز بناء الجملة. أنا معجب بـ Notepad ++ في هذا الصدد. مفكرة بسيطة وخفيفة الوزن ومجانية ومريحة (ميزات أكثر بكثير مقارنة بمفكرة Windows المدمجة).

مرحبا بالعالم! (المفكرة ++)

حسنًا ، أوصي أيضًا باستخدام نوع من القادة. في المستكشف ، من غير الملائم للغاية التنقل عبر مجلدات مختلفة ، وفتح عدة ملفات في وقت واحد (تضيع وتنسى ما هو المكان). أوصي باختيار Total Commander (قائد مريح للغاية ومتعدد الاستخدامات).

السيناريو الأول: التحضير!

1) بعد تنزيل OpenServer وتثبيته ، يجب أن يكون لديك مجلد بنفس الاسم في الموقع المحدد على القرص - في حالتي هو كذلك "e: \ openserver5.2 \" ... يجب أن يحتوي هذا المجلد على دليل "المجالات" - تحتاج فيه إلى إنشاء مجلد باسم موقعك (على سبيل المثال ، "my-site.ru" - المثال أدناه).

تذكر اسم هذا المجلد ، هذا هو المجلد الذي سيحتاج إلى كتابته في شريط عنوان المتصفح عند كتابة البرامج النصية.

OpenServer - مثال على إنشاء "موقع" (محلي)

2) بعد ذلك ، قم بإنشاء ملف "index.php" في دليل "my-site.ru" وأدخل الأسطر التالية فيه:

صدى "مرحبا العالم!" ؛

مرحبا بالعالم! أول "برنامج"!

حفظ الملف.

ملاحظة: إذا كان شخص ما يعمل مع php لأول مرة ، انتبه لأمر "echo" - يعني عرض كل شيء بعده بعلامات اقتباس.

3) ثم ابدأ OpenServer (أو أعد تشغيله إذا كان قيد التشغيل). قم أيضًا بإغلاق وإعادة فتح المستعرضات الخاصة بك. يعد هذا ضروريًا حتى يتمكن OpenServer من تغيير بعض الملفات في نظام Windows الخاص بك: بحيث يتم فتح موقع "my-site.ru" الذي تم إنشاؤه في متصفحك.

OpenServer - يبدأ خادم الويب المحلي

بشكل عام ، إذا تم تشغيل OpenServer بنجاح ، فيجب أن يضيء مربع اختيار أخضر في درجتك (إذا كانت حمراء أو صفراء ، فحاول إعادة تشغيلها مرة أخرى. في بعض الحالات ، تحتاج إلى تشغيلها كمسؤول. في أي حال ، لن تسمح لك العلامة الحمراء بمتابعة العمل ...) .

OpenServer - قيد التشغيل

4) في الواقع ، يبقى كتابة " my-site.ru "(بدون علامات الاقتباس) وسيظهر التحية من الملف الذي تم إنشاؤه index.php (انظر لقطة الشاشة أدناه).

يعمل!

5) يرجى ملاحظة أنه في المثال الأول ، إذا عرضنا سطرًا نصيًا على الفور ، فقد غيرت الرمز قليلاً في المثال التالي. كقاعدة عامة ، عند تطوير البرامج النصية ، فأنت تتعامل مع المتغيرات ، والتي يمكن أن تحتوي على بيانات مختلفة: سلاسل وأرقام وما إلى ذلك.

لننشئ متغيرًا واحدًا ("$ p") ونضع النص فيه. انظر المثال أدناه:

$ p = "Hello World!"؛

صدى $ p؛

المتغير الأول

كما هو موضح أدناه ، ستكون النتيجة هي نفسها! أولئك. سيقوم المتصفح بإخراج السلسلة أيضًا. ومع ذلك ، فإن الكود مختلف إلى حد ما: الآن النص موجود في المتغير "$ p" ، والذي نخرجه ...

عرض البيانات من المتغير

6) مثال توضيحي آخر أدناه. هذه المرة ، قمت بإنشاء متغيرين "$ p" و "$ p2" ، ثم قمت بربط هذه السطور ووضعها في المتغير "$ p3". لاحظ أن الخطوط متصلة باستخدام نقطة بسيطة.

$ p = "Hello World!"؛

$ p2 = "هذا أنا!" ؛

$ p3 = $ p. $ p2 ؛

صدى $ p3 ؛

مثال آخر (متغيرين)

النتيجة متوقعة ...

يعمل ...

أود أن ألفت انتباهك إلى حقيقة أن جميع الأمثلة موصى بها يدويًا لفهمها وإتقانها بشكل أسرع.

الخطوة 3 - تقسيم المهمة إلى مكوناتها. تصحيح كل خطوة

لعل هذه هي أهم خطوة لبدء البرمجة ، من أجلها بدأت هذه المقالة ...

بغض النظر عن مدى صعوبة المهمة التي تريد حلها ، يمكن تقسيمها بشكل مشروط إلى ثلاث مراحل:

  1. الحصول على البيانات الأولية (إدخال البيانات) ؛
  2. تحويل البيانات
  3. إخراج البيانات: إلى الشاشة ، أو إلى متغير فقط. (انظر لقطة الشاشة أدناه: لقد قسمت بشكل مشروط أحد أمثلة المقالة إلى هذه الخطوات الثلاث ، بحيث يكون من الواضح ما يدور حوله)

ما هي المراحل التي يمكن تقسيم البرنامج النصي إليها

كقاعدة عامة ، المراحل هي الأصعب. استلام وتحويل البيانات ... وليس لدى العديد من المبتدئين أي فكرة عن كيفية كتابة كود مكون من 100 سطر دون أن يتم الخلط بينهم أو يخطئوا فيه.

في الواقع ، بعد كل سطر من التعليمات البرمجية ، يمكنك إلقاء نظرة على ما لديك في المتغيرات. وبالتدريج ، بإضافة سطر واحد من التعليمات البرمجية في كل مرة ، والنظر في كيفية تغير المتغيرات ، قم بإحضارها إلى النموذج المطلوب (وحل المشكلة!). لهذا ، PHP لها وظائف رائعة "var_dump ($ p) ؛" و "print_r ($ p)؛".

وللمبتدئين ، أوصي باستخدامهم طوال الوقت! نعم ، تمامًا مثل هذا ، تكون البرمجة أحيانًا أمرًا مملًا ...

سأفكر في مثال أدناه.

فقط تخيل أنك لا تعرف ما لديك في المتغير "$ p3" (في الكود ، في المثال أدناه ، ترى السطر الذي تم تحميله فيه ، ومن الناحية النظرية يجب أن يكون موجودًا. ولكن في أكثر تعقيدًا المشاكل - هذا لا يحدث دائمًا ، فقد يحتوي المتغير على فوضى كاملة ، بدلاً من السطر المطلوب ...).

لذا ، لمعرفة ما يوجد في المتغير ، ما عليك سوى إدخال الأمر "var_dump ($ p3)؛" بعده (وحفظ الملف).

مثال Var_dump

نتيجة لذلك ، في المتصفح (عند تحديث الصفحة) ، سترى أن "السلسلة (31) ...." معروضة. أولئك. var_dump تم إخبارك بنوع البيانات (السلسلة عبارة عن سلسلة) وطول هذه السلسلة (31 حرفًا). هذا مفيد جدا عند تصحيح أخطاء البرامج الطويلة (سكربتات)!

سلسلة (31)

كمثال ، قبل "var_dump ($ p3) ؛" قمت بتعيين القيمة 1 إلى المتغير $ p3. النتيجة مختلفة (انظر أدناه).

إذا قمت بإضافة رقم إلى المتغير

انت (1)

مثال: قراءة ملف نصي وقص الجملة الأولى

كل ما كتبته أعلاه ، سيكون من الجيد أن أشرح بمثال. على سبيل المثال ، قمت بمهمة بسيطة: افتح ملفًا نصيًا ، وابحث عن النقطة الأولى فيه (أي نهاية الجملة) ، وقم بقص كل شيء من بداية الملف حتى هذه النقطة.

من ناحية أخرى ، قد يبدو الأمر صعبًا بالنسبة لشخص لم يسبق له أن قام باستخدام PHP. من ناحية أخرى ، عن طريق تقسيم المهمة إلى مكوناتها واستخدام التصحيح (var_dump) ، يمكنك كتابة أشياء أكثر تعقيدًا ...

وبالتالي ، فمن المنطقي تقسيم هذه المهمة إلى عدة مراحل:

  1. قراءة ملف نصي في متغير ؛
  2. ابحث عن نقطة في ملف نصي (أي اكتشف رقمها الترتيبي ، على سبيل المثال ، الحرف 35) ؛
  3. قطع قطعة من الخيط: من الحرف الأول إلى نقطة (حتى الرقم الترتيبي).
  4. اعرض النتيجة على الشاشة.

1) قراءة ملف في سلسلة

كملف نصي - أخذت نص هذه المقالة ووضعته في ملف "text.txt" الذي نسخته إلى المجلد "e: \ openserver5.2 \ domains \ my-site.ru \" (أعني ، ضعه بجوار "index.php").

بعد ذلك ، تحتاج إلى إيجاد دالة لحل المكون الأول: قراءة الملف في متغير. هذا هو المكان الذي تساعد فيه "Google" كثيرًا: استعلام مثل "قراءة ملف PHP" تتواءم مع مهمتها وتساعد في العثور على وظيفة file_get_contents () - نحن نستخدمه!

بالمناسبة ، في هذا الصدد ، أوصي بدليل //php.net (مساعد رائع!).

$ p = file_get_contents ('text.txt') ؛ // اقرأ الملف في متغير

var_dump ($ p) ؛

نقرأ الملف في متغير

نتيجة لذلك ، إذا تم إدخال كل شيء بشكل صحيح ، فسنرى محتويات المتغير "$ p": سيحتوي على نص طويل (سطر). إذا لم يكن الأمر كذلك ، فقد كان هناك خطأ في مكان ما ...

سلسلة (1278)

في الواقع ، هذه هي بياناتنا الأولية. الآن نحن بحاجة إلى إيجاد النقطة الأولى (".") في المقالة.

2) ابحث عن رمز النقطة

بشكل عام ، PHP لديها الكثير من الوظائف للعمل مع السلاسل. للعثور على النقطة الأولى في هذا المثال ، قررت أن آخذ " ستربوس () ؛ ". أدناه لا أعطي النص الكامل لشفرة البرنامج النصي ، ومع ذلك ، انتبه إلى الوظيفة نفسها والمتغير الذي أضفته إلى var_dump (الرقم الذي يجب أن يظهر فيه الرقم الترتيبي للنقطة ، أي "$ t" ، والمتغير "$ p" - قمنا بالفعل بتصحيح الأخطاء في الخطوة الأولى ، وهو يحتوي على النص).

$ t = strpos ($ p، '.') ؛

حيث: $ p - المتغير الذي نبحث فيه عن الرمز المطلوب ؛

"." - الذي نبحث عنه.

البحث عن نقطة

223 رمز ، هذه نقطة. وجدناها!

3) قص الخط للإشارة

لقص السلاسل ، تحتوي PHP على وظيفة مثل substr (). إنه سهل الاستخدام للغاية ، وسأريكم بمثال:

$ s = substr ($ p، 0، $ t) ؛

أين:

$ p - الخيط الذي سنقطع منه ؛

0 - الحرف الترتيبي للبداية (بداية القطعة المرغوبة) ؛

$ t هو حرف النهاية الترتيبي (نهاية المقطع المطلوب). في مثالنا ، هذه هي النقطة التي وجدناها.

نتيجة لذلك ، سيبدو الرمز الكامل كما يلي:

$ p = file_get_contents ('text.txt') ؛ // اقرأ الملف في متغير

$ t = strpos ($ p، '.') ؛ // ابحث عن النقطة الأولى في السطر $ p

$ s = substr ($ p، 0، $ t) ؛ // قص السلسلة من الحرف 0 إلى النقطة

var_dump ($ s) ؛

قطع الخط

لاحظ أننا قمنا أيضًا بتغيير المتغير في "var_dump ($ s) ؛" ... وهكذا ، نرى أن السلسلة الخاصة بنا أصبحت صغيرة ، فقط 223 حرفًا. لقد حللنا المشكلة عمليا ، لم يتبق الكثير ...

قطع!

4) تم حل المشكلة!

بشكل عام ، استبدال "var_dump" إلى "صدى" - حصلنا على مثال محلول. الآن ، عند فتح "my-site.ru" في المتصفح ، يتم عرض الجملة الأولى من الملف النصي.

النص جاهز!

لاحظ أن "echo" لا يطبع تفاصيل نوع البيانات. ترى مجرد خط ...

تم قطع الاقتراح

الخطوة 4 - التحدي الجديد ...

كما يمكنك أن تتخيل ، فإن المهمة في المثال أعلاه هي مجرد قطرة في محيط! بالطبع ، يمكن حلها في سطر واحد وبطرق أكثر أناقة (كل ما تم عرضه أعلاه هو مجرد مثال لإظهار الجوهر وكيف يمكنك التحرك لإنشاء نص بمئات الأسطر والذي يحل مشاكل أكثر تعقيدًا) .

بالطبع ، لا يمكنك البحث عن نقطة فحسب ، بل يمكنك أيضًا البحث عن تسلسلات لبعض الرموز والصور والعلامات وما إلى ذلك. لا يمكنك قراءة الملف فقط (أي الحصول على البيانات الأولية منه) ، ولكن يمكنك أيضًا قراءة صفحات المواقع الأخرى ، وقراءة عنوان URL الحالي للمستخدم ، والحصول على البيانات من النموذج الذي يملأه المستخدم ، وما إلى ذلك.

وبالتالي ، من خلال تقسيم مهمة واحدة كبيرة إلى عدة مهام متوسطة ، والمهمة المتوسطة إلى عدة مهام صغيرة ، والمهمة الصغيرة إلى سطور من التعليمات البرمجية ووظائف محددة (كل منها ستمر بها يدويًا وتصحيحها) ، يمكنك حلها بشكل كبير جدًا. مشاكل كبيرة. نعم ، حتى لو كانت ملتوية ومائلة في البداية ، لكن الشيء الرئيسي هو أنك ستفعل ذلك بنفسك ، وسيكون لديك اهتمام بالوصول إلى مستوى معين في التعلم.

علاوة على ذلك ، مع كل سطر جديد - سيتم ضخ خبرتك وسرعة تطورك ومهاراتك. وإذا كان الأمر كذلك ، فربما كتبت هذه السطور لسبب ...

لذا ، قم بتعيين مهام جديدة ، وامض قدمًا: ابحث عن الوظائف خطوة بخطوة ، وقم بتغيير المتغيرات ، وحل المشكلات الصغيرة خطوة بخطوة. الشيء الرئيسي هو عدم التعلق بالكتب والدورات التدريبية - حتى تبدأ في القيام بذلك بنفسك ، لن تتعلم ...

ما لا يتحدثون عنه في إعلانات الكتب والدورات

عادة ما يعدون بتعليمك البرمجة في غضون أسبوع أو شهر (بحد أقصى 2) ، ويعدون برواتب كبيرة ومكانة عالية. ومع ذلك ، فقد نسوا تمامًا إضافة بعض الأشياء المهمة ، والتي سأقولها أدناه ...

1) إجهاد العين الثقيل

الجلوس طوال اليوم ومراجعة التعليمات البرمجية وتحريرها وما إلى ذلك. - هذا أبعد ما يكون عن مشاهدة فيلم طوال اليوم ، والاسترخاء على كرسي بذراعين. لا تصدقني - حاول على الأقل نصف يوم لتعديل مستند Word أو Excel بعناية (يمكن مقارنته تقريبًا).

2) الحاجة إلى التعلم باستمرار

في الوقت الحاضر في العديد من المهن ، عليك دائمًا أن تتعلم ، لكن المبرمجين - أكثر بعشر مرات! بشكل عام ، بشكل عام ، يتقدم مجال تكنولوجيا المعلومات كل عام على قدم وساق ، فقط مواكبة ذلك (تذكر ، منذ 10 سنوات ، بدأ الإنترنت يظهر فقط في المدن ، والآن حتى في القرى يتحدثون عن عملات البيتكوين .. .) ...

3) العمل المستقر

إذا كنت تستطيع في العديد من المجالات قضاء جزء من يوم عملك في مكان "المشي" ، فإن مكان عمل المبرمج موجود فقط على الكمبيوتر الشخصي ، وليس في أي مكان آخر ... ومع ذلك ، فإن طريقة الحياة هذه تبدأ في التأثير على الصحة بمرور الوقت: الظهر واليدين والكتفين والعينين ... - في نهاية اليوم يبدأون في الشعور بالتعب الشديد.

4) رواتب المبرمجين العاديين ليست عالية دائما

حتى تكتسب الخبرة ، على الأرجح لن تتلقى الكثير مقارنة بمجالات النشاط الأخرى. في رأيي ، عصر الرواتب المرتفعة في هذا المجال قد مضى (؟). ومع ذلك ، فإن عمل المتخصصين الجيدين في هذا المجال يتم دفعه جيدًا!

5) حل مشاكل الآخرين ممل ...

إذا كنت مهتمًا بالبرمجة و "ترجمة" فكرتك إلى واقع ، فهذا لا يعني على الإطلاق أنه سيكون من المثير للاهتمام حل مشاكل الآخرين - وهذا ليس هو نفسه على الإطلاق! في بعض الأحيان ، يصبح البحث في الشفرة مملًا ورماديًا ... لدرجة أن "العواء" (أعتقد أنه لن يفهم الجميع هذه السطور).

ملاحظة: هل يجب أن تترك وظيفتك الحالية وتحاول أن تصبح مبرمجًا؟

سؤال شائع جدا .. خاصة في أعقاب الرواتب المرتفعة جدا لبعض فئات المبرمجين.

إن ترك كل شيء دفعة واحدة بالتأكيد ليس (على الأقل وجهة نظري). مهما كان الأمر ، ومهما قررت ، ممارسة الرياضة بفعالية ، وتحميل الدماغ وتعلم شيء جديد - لا يستطيع الشخص أكثر من 2-2.5 ساعة في اليوم (هذا حقًا ، يمكنك التحقق بنفسك - حتى في عطلة نهاية الأسبوع يمكن أن تفعل المزيد). لذلك ، لبدء تعلم حرفتك الجديدة - من الممكن تمامًا اقتطاع ساعة في الصباح أو في المساء في نهاية يوم العمل ، في مكان ما "لسرقة" جزء من اليوم.

إذا نجحت ، فستكتسب بعض الخبرة ، إلخ.- يمكنك محاولة أخذ إجازة والحصول على وظيفة كمتدرب (ربما بنصف السعر) ، ومعرفة ما إذا كنت تحب كل شيء وتمارس ...

أيضًا ، لن يكون من غير الضروري أن يكون لديك "وسادة" مالية في يوم ممطر ، وإلا فلن تعرف أبدًا ، فجأة لا تفي وظيفة جديدة بالتوقعات. على الأقل هذا النهج لن يقودك إلى موقف صعب في الحياة إذا حدث خطأ ما ...

*

حسنًا ، انتهيت من هذا "الدليل" الخاص بي. إذا كان لديك أي إضافات حول الموضوع أو النقد ، فهي موضع ترحيب (التعليقات مفتوحة).

أتمنى لك كل خير!