[Powered by Google Translate] [الأسبوع 8]
[ديفيد J مالان] [جامعة هارفارد]
[هذا CS50.] [CS50.TV]
>> مرحبا بك مرة أخرى.
هذا هو CS50، وهذا هو بداية الأسبوع 8.
زوجان من فرص هذا الأسبوع،
من بينها هذا الحديث هنا، والذي سيتم فيه تقديم بعض الطعام.
لمزيد من التفاصيل راجع الشرائح التي هي على الانترنت.
وأيضا حدث آخر هذا الأسبوع من قبل توماس لدينا Carriero الخاصة.
انه واحد من الزملاء CS50 السابق رئيس التدريس الذي يعمل حاليا في دروببوإكس،
وانه الرجل الذي مدمن مخدرات لنا مع ما تعلمون،
حتى إذا كنت تريد أكثر من أن توجه إلى حديثهم بعد ظهر اليوم لدروببوإكس وأكثر من ذلك.
CS50 الغداء يوم الجمعة.
القيام الانضمام إلينا إذا كنت قادرا، 1:15، كالعادة، في النار والجليد.
>> ونحن الآن الغوص في ما يسمى الندوات.
لدينا CS50 الندوات والتذكير، وهذه الفئات هي اختيارية بقيادة الزملاء التدريس
وبطبيعة الحال مساعدين وأصدقاء بالطبع،
ودعا الناس من مجموعة ABCD في الحرم الجامعي، والتي هي مجموعة من
بالتكنولوجيا في الحرم الجامعي، وكذلك مجموعة تسمى HCS،
جمعية الحاسبات في جامعة هارفارد، الطلاب الجامعيين الذين يهتمون بالمثل في مجال الحوسبة.
قائمة هذا العام من الحلقات الدراسية ويشمل حلقات دراسية عن دائرة الرقابة الداخلية الروبوت وجافا سكريبت و
وPHP، ويونيكس، فيم، وأكثر من ذلك، بحيث تدرك هذه الحلقات الدراسية القادمة.
إذا كنت ترغب في أجبني لو سمحت لأي منهم التوجه إلى هذا العنوان هناك.
ثم سنقوم بنشر بالطبع على موقع في أوقات وأماكن بمجرد الانتهاء منها.
ولكن نعرف قيمتها هناك في 5 سنوات من قبل الندوات على شبكة الإنترنت،
وكثير منها لا يزال الكثير جدا الحالية من حيث التقنيات التي قد
تريد أن تلعب مع لمشاريعك النهائي، لذلك هناك توجه لبعض أشرطة الفيديو المتوفرة منه.
>> CSS، أولئك منكم الذين هم على دراية بالفعل CSS،
ما هو باختصار؟
ما هي تقنية CSS؟
انها أوراق الأنماط المتتالية، وماذا يعني ذلك؟
ماذا تفعل ذلك بالنسبة لنا، CSS؟
حسنا، دعونا الاحماء مع أسهل واحد، HTML، لغة توصيف النص التشعبي.
ماذا تفعل ذلك بالنسبة لنا؟
أي شخص على الإطلاق؟
انها حقا الحصول على محرجا نطرح هذه الأسئلة.
HTML، لغة توصيف النص التشعبي.
نعم؟ لا؟
[رد الطالب غير مسموع]
حسنا، جيد، لأنها تتيح لنا لوضع علامة على النص لعرضه في مستعرض الويب.
انها ليست لغة برمجة.
انها في الواقع لغة توصيف النص، مما يعني أنه يرشد المستعرض كيفية عرض
المعلومات، وبالتالي فإن أبسط تجسد هذا كما رأينا
هو شيء بسيط مثل سوبر boldfacing، مفتوحة قوس قوس مغلق يقول ب
جعل هذا نص عريض، وهذا في الواقع مجرد واحدة من العديد من الطرق
التي يمكننا القيام بذلك، وبالفعل، في هذه الأيام أفضل نهج
لstylizing صفحة الويب الخاصة بك، مما يجعل الأمور جريئة ومائل
وتركزت وبرر وما شابه ذلك، لا يتم عبر به وحده HTML
بل مع تقنية تسمى CSS، أوراق الأنماط المتتالية.
هذه هي لغة في حد ذاته.
فهو أيضا لا لغة برمجة لكن-
الجميع، وهذا هو دان، الذي يحتفظ حضوركم معنا اليوم.
بعض الصعوبات التقنية. لا مشكلة.
>> CSS يتيح لنا أن أسلب صفحة
من خلال وضع ما يسمى الخصائص، لذلك دعونا نلقي نظرة على هذا
عن طريق بعض الأمثلة الأساسية.
اسمحوا لي أن انتقل إلى الجهاز اليوم.
لدي الدليل المصدر الأثنين 8 هنا،
وانا ذاهب للذهاب الى دليل يسمى CSS حيث لدينا مجموعة كاملة
ملفات تنتظر منا هنا،
وفي هذا المجلد لدينا، على سبيل المثال، search0.html من آخر مرة.
الآن، مع التذكير search0 تركنا على هذه المذكرة
حسب تنفيذ Google أو في الحقيقة مجرد الواجهة الأمامية لأنها أسبوع أو نحو ذلك قبل
وتلاحظ أن كان لدينا بعض العلامات الجديدة هناك.
كان لدينا H1 لعنوان، جريئة كبيرة،
النموذج، الذي سمح لنا فعلا نموذج HTML لإدخال المستخدم.
العمل، ما هو معنى سمة العمل
على شكل علامة HTML؟
ما هو معنى هذا العمل،؟
أنا فقط القيام بذلك اليوم.
العمل هي الوجهة إلى حيث شكل ستكون المقدمة.
حقيقة أن هذا العمل تقول = "google.com / البحث"
يعني أنه عندما يقوم المستخدم بالنقر على زر أو ما يعادلها
أيا كان شكلها المجالات التي تسير ملء ليتم إرسالها إلى الخادم الخاص بنا لا
أو الأجهزة لدينا ولكن بدلا من ذلك أن URL محددة في غوغل.
ويتم استدعاء الأسلوب انها تنوي استخدام الحصول عليها،
وتحصل، في الوقت الراهن، هو مجرد أسلوب لتمرير المعلومات إلى خادم الويب
عن طريق عنوان URL، لذلك دعونا نلقي نظرة سريعة إلى الوراء في كيفية عمل ذلك.
>> لاحظت أن هناك مدخلا اسمه س
نوع النص الذي هو وثم الإدخال الثاني من نوع تقديم
القيمة التي هي CS50 البحث، وبالفعل،، واذا كنا فتح هذا الملف هنا
search0.html، انها شكل السوبر بسيطة،
وإذا كنت ابحث عن شيء من هذا القبيل علوم الكمبيوتر
وضرب ثم أدخل أو انقر على CS50 البحث
تلاحظ أن ما يحدث هو أبعد من الوصول الى جوجل
لقد انتهى بي خصيصا في هذه URL في الأعلى،
google.com / البحث؟ س = + الكمبيوتر العلوم،
وعلم الحاسوب ومن الواضح أن ما كتبته أنا فيها.
و+ يعني فقط حيث ان حرف مسافة و،
ويتم ذلك من قبل المتصفح فقط للتأكد من أنه لا يوجد
الارتباك والمساحة البيضاء في URL الفعلي.
ثم س، بطبيعة الحال، هو اسم المعلمة.
لم نر كيف نحن، مبرمج، يمكن الوصول فعلا س حتى الان.
يمكننا أن نفترض أن جوجل يعرف ما يجب القيام به مع هذا هنا،
ولكن سوف نصل الى هناك في الوقت المناسب اليوم.
>> ولكن اسمحوا لي أن نلقي نظرة بدلا من ذلك في search1.html،
التي تبدو مختلفة قليلا لأنني قررت أن هذا الشكل هنا كان قليلا عرجاء.
أعني، انها في أعلى اليسار.
هناك حقا لا علم الجمال إليها، وهكذا أريد أن أسلب هذا
أكثر قليلا مثل جوجل، والتي الصفحة الرئيسية، استدعاء،
حتى ولو كنت قد لا أن زيارة كثير من الأحيان، يبدو مثل هذا اليوم في عيد الهالوين.
إذا كان لنا أن فتح بدلا من ذلك الإصدار 1 من هذا الملف، والبحث 1.html، لقد تركزت أنا هو.
لا تزال قبيحة جدا، ولكن على الأقل أنا الآن قد بدأت في السيطرة على جماليات هذه الصفحة،
ليس فقط ترميز منه.
دعونا نلقي نظرة على البحث 1، وهناك حقا فرق واحد فقط هنا،
والتي قد القفز في لكم، أو ربما لا،
ولكن ما هو خط واحد أو مقتطف من الفرق؟
>> هناك نمط هذه السمة، لذلك تبين أنه في HTML
معظم العناصر، يمكن لمعظم العلامات تحتوي على سمة نمط عليها،
وداخل هذا النمط هو السمة سلسلة معلنة،
ونقلت هذه السلسلة هو CSS.
يمكنك وضع ورقة الأنماط المتتالية في هناك
عن طريق تحديد على أنها اسم الخاصية
متبوعا بنقطتين تليها قيمة.
هذا هو نوع من قرار مؤسف تصميم قبل بضع سنوات
أن CSS هي لغة في حد ذاته،
ولكن ذو بناء جملة الأمر مختلف جدا عن HTML.
في هذه الحالة، فإننا نرى أن من داخل صفحة الويب الخاصة بي، الذي هو مكتوب في HTML،
لدي CSS داخل هذه الاقتباسات، واتفاقية CSS
هو أن لديك ما يسمى خاصية تليها، مرة أخرى، القولون،
تليها قيمة تلك الممتلكات، لذلك ليس هناك علامة المساواة.
ليس هناك أسهم إضافية.
انها مجرد هذا الزوج فصل القولون قيمة المفتاح،
وخط النص لا بالضبط ما يقول.
انها تؤيد النص في نص الصفحة، وهو في الواقع الشجاعة من الصفحة،
في المركز.
>> حسنا، والنتيجة النهائية بعد ذلك، أن يكون واضحا، هو هذا.
ليس كل ما أكثر جنسية، ولكن على الأقل انها تركز عليها وأكثر من ذلك بقليل مثل جوجل الحقيقي.
ولكن ماذا لو كنت بدلا من ذلك فتح الإصدار 2 من هذه
وأشير هنا إلى أسفل علامة جديدة تماما؟
الآن في رأس الصفحة الخاصة بي، التي كانت من قبل العلامة الوحيدة التي
في جميع الأمثلة السابقة؟
وكان هذا فقط، العنوان.
منذ لحظة بدا العلامة رئيس مثل هذا.
الآن بدلا من ذلك لديها داخل علامة نمط منه،
وهذا أيضا، أعتذر، يبدو مختلفا جدا عن بناء جملة HTML،
ولكن كنت تعتاد على ذلك، حيث من داخل علامة نمط
يمكنني الآن عامل ما كان قبل لحظة
يمكن أن السمة، سمة الاسلوب، وأضع ذلك في أعلى جدا من الصفحة الخاصة بي.
>> لماذا؟
حسنا، هذا هو خطوة نحو تنظيف الامور، مثل الكثير في كتابة التعليمات البرمجية C
كنا نكتب أحيانا وظائف وظائف لخصم ما المشتركة.
انها مجرد أنظف قليلا لبدء العوملة من أشياء مثل علم الجمال
لموقع مركزي واحد بدلا من الاضطرار كل أنحاء بعثر HTML الخاص بك.
هذا لا أيضا ما تقول، حتى ولو كان هناك شيء من بناء جملة جديدة.
هذا هو هنا محدد، والجسم يعني فقط تحديد العنصر الأساسي
وتطبيق الخصائص التالية لذلك.
كذلك، الخاصية هو نفسه تماما.
لحسن التدبير واضاف لقد فاصلة منقوطة في نهاية المطاف،
الذي يميل إلى أن يكون الاتفاقية، ولقد اختتم هذا العقار كله
في الأقواس المتعرجة لأنه أنا فعلا أشياء مختلفة هنا.
يمكن أن أقول شيئا في الواقع مثل اللون: الأزرق؛
>> الآن هذا أيضا لن تكون خطوة نحو أي شيء كل ما أجمل،
ولكن إذا ذهبت الآن إلى الإصدار 2 لقد أصبح الآن على الأقل الجسم من بلادي
الصفحة نص جميع الزرقاء.
الزر يبقى على حاله لأن هذا مدخلا. انها ليست نقية النص.
ولكن كل شيء آخر هو أن النص، مثل CS50 البحث عن أفضل، هو في الواقع زرقاء.
مرة أخرى، كل ما قمت به الآن هو إزالة العلامة من الجسم، لاحظ،
السمة نمط، ولقد الحسبان أن أخرج من هنا.
هذا ليس تحسنا كبيرا، ولكن إذا أخذنا هذه الخطوة واحدة أخرى
تلاحظ ما يمكننا القيام به في هذا الإصدار الثالث هنا.
>> في صفحة الويب search3.html مطابق تقريبا
باستثناء ما علامة جديدة الآن؟
الرابط، بحيث لا يتم هذا واحد اسمه بجدارة جدا
لأنك لا تربط بمعنى ارتباط تشعبي للنقر.
بدلا من ذلك، كنت نوع من القيام يعادل تشمل # C في
حيث العلامة الارتباط مع السمة href
والسمة rel يقول المضي قدما
ودعا نسخة لصق محتويات ملف search3.css هنا، أساسا.
لم يفعل تماما ذلك، ولكن هذا هو روح منه.
تقول يذهب فتح هذا الملف، search3.css،
والتعامل معها كما لو كان المستخدم كتابتها هنا في رأس الصفحة
مثلما فعلت في المثال السابق.
Search3.css، وفي الوقت نفسه، هو بسيط جدا.
هل حقا تحتوي فقط بالضبط ما كان قبل لحظة
في علامة نمط، ولكني الحسبان أن أخرج من هنا إلى ملف خاص به.
>> على الرغم من أننا لم تنفق الكثير من الوقت على الإطلاق في HTML أو برمجة الويب
حدسي فقط ما هو الدافع، ربما، لبيع خارج
هذا مقتطف صغير حتى في ملف CSS الخاص
وبما بعد ذلك مع هذه العلامة الرابط هنا؟
[رد الطالب غير مسموع]
حسنا، انها أسهل في القراءة، بمعنى أن يكون لديك CSS في ملف CSS.
لديك HTML الخاص بك في ملف HTML، لذلك فمن أكثر قابلية للقراءة في هذا الاتجاه.
قد تكون مقنعة ماذا؟ نعم.
[رد الطالب غير مسموع]
نعم، حتى تتمكن من إدراجه عدة مرات، حتى الآن نقوم به هذه
الأمثلة الأساسية مع الملفات الفردية، ولكن لنفترض انك تستفيد في الواقع
وهناك موقع حقيقي مثلك لpset 7 أو المشروع النهائي الخاص بك ربما،
وأنت تريد أن يكون صفحات الويب متعددة، كما هو شائع بالتأكيد على
فإن الشبكة العالمية الفعلية على نطاق واسع، ويكون نوع من عرجاء
لدينا لنسخ ولصق نفس اللون الأزرق
ونفس النص في محاذاة مركز كل واحدة من تلك الصفحات.
بل أكثر منطقية لخصم ما، مثل الكثير فعلناه في C
مع ملف ح.، ووضعها في مكان مركزي واحد،
في هذا search3.css الحالة، والسماح بعد ذلك أي ملف
في موقع الويب الخاص بك لتشمل في الواقع هذا الملف عن طريق هذه العلامة هنا في السطر 16.
كما هو الحال عادة، بدأنا مع الإصدار 0، أي نوع من الأعمال
ولكن ليس بالضرورة أفضل، ومع كل خطوة،
البحث 1، البحث 2، والآن البحث 3 اتخذنا هذه الخطوات الطفل
نحو التصاميم التي هي أنظف وأكثر قليلا التحضيرية
لصفحات أكثر تعقيدا نستطيع القيام على الطريق.
>> اسمحوا لي أن تفتح هنا مثال واحد آخر فقط لاظهار
صفحة بأسلوب منمق أكثر، ولكن دعونا أولا ننظر إلى HTML.
هذا هو search4.html، وتلاحظ أن هيكليا انها تقريبا نفس
باستثناء إدخال بطاقة جديدة، DIV.
DIV هو علامة أن يقدم تقسيم الصفحة.
يمكنك التفكير في هذا على أنه مستطيل غير مرئي.
انها نوع من يخلق رقعة من مساحة في صفحة ويب
يمكنك أن أسلب في كل مرة.
ما فعلته هنا هو كما يلي.
داخل العلامة جسمي، الذي كان هناك طوال الوقت،
أنا أقول إنشاء شعبة للصفحة هنا عن طريق خطوط 45 خلال 47 عاما
وهذا يعني أساسا تعطي لي مستطيل غير مرئي على طول الجزء العلوي من الصفحة.
ثم إعطاء لي مستطيل الثاني، وإن كان غير مرئي، وتحت ذلك،
وتحديد المحتوى من قبل الاسم، ثم أخيرا،
أعطني الدرجة الثالثة من الصفحة في أسفل
دعا ID.
سنرى ماذا فعلت هذا في لحظة فقط،
ولكن المفهوم لدي تقسيم رأس.
لدي تقسيم المحتوى، ولدي تقسيم تذييل الصفحة
على الرغم من هذه ليست سوى في العلامات.
المستخدم لن انظر 3 مستطيلات،
ولكن هناك نوع من الهيكلية وراء الكواليس
انهم في الواقع الحالي.
>> الآن، من يهتم؟ لماذا فعلا ذلك؟
كل شيء آخر على الصفحة هو نفسه كما رأينا من قبل.
وهنا نموذج بلدي. هنا بلدي المدخلات، والمدخلات بلدي، فاصل أسطر وهكذا دواليك.
وهنا صورة، ورغم ذلك سنرى أين جاء هذا في لحظة من واحد فقط.
وهنا تذييل، وهو جديد، فقط لأنني أردت أن أعرض
المزيد من المحتوى هنا.
إذا كان لنا أن انتقل لأعلى لاحظت أن ID هذا هو رأس DIV.
معرف هذا هو DIV المحتوى، وID هذا هو واحد من تذييل الصفحة.
وكما يوحي اسمها، عندما يكون لديك سمة ID
في HTML، بحكم تعريفها يجب أن تعرف بشكل فريد
واحد من العناصر، واحدة من العلامات في الصفحة الخاصة بك.
عبء تماما عليك أن تتذكر أن لديك بالفعل رأس ID.
لديك تذييل الصفحة. لديك ID المحتوى بالفعل.
الكمبيوتر لن معرفة ما هو معرف المتاحة لك،
لذلك يمكن أن يعطي بطريق الخطأ 2 العلامات معرف للرأس،
والتي من شأنها أن يكون مجرد خطأ.
>> عليك أن تضع في اعتبارها ما قمت بإنشائها،
ولكن بمجرد ان قمت به إشعار ما يمكننا القيام به هنا.
الآن يمكنني تحديد علامة في أسلوبي في أعلى
أو مكافئ في ملف CSS الخاص بي، إذا كنت لا تزال تستخدم هذا الإصدار،
أستطيع أن أقول # رأس، وهذا ما يعني أن أنه مهما علامة
في هذه الصفحة وجود هوية من رأس
و#، فقط من خلال اتفاقية الإنسان، يمثل ID.
علامة حادة أو علامة الجنيه يمثل ID.
رأس هو الاسم الذي أعطى ذلك.
هذا يعني تطبيق هذا العقار CSS
إلى أي علامة في هذه الصفحة يحمل هوية من الرأس.
نفس الصفقة هنا.
تطبيق هذه الخاصية، الذي صادف أن يكون هو نفسه، إلى أي عنصر
ID الذي هو المحتوى، ثم أسفل هنا
تلاحظ حصلت قليلا مربي الحيوانات مع تذييل الصفحة.
أي العنصر الذي لا تقل ID هو تذييل، والتي يمكن أن يكون هناك واحد فقط من خلال التعريف،
المضي قدما وجعل حجمها أصغر الخط،
الجريء الوزن الخط، هامش 20 بكسل.
>> ماذا يعني ذلك؟
انها مجرد هامش في أعلى، أسفل، واليسار واليمين.
هذا يعني أن تعطيني هامش بكسل 20-حوله غير مرئية
فقط لدفع كل شيء آخر بعيدا عن ذلك قليلا، مثل التي قد تفعل في Word،
مايكروسوفت وورد أو صفحات أو ما شابه ذلك.
ثم محاذاة النص مركز.
دعونا نرى النتيجة النهائية، ومن ثم سنذهب إلى الوراء حتى قصاصة الوحيد المتبقي من CSS هناك.
هذا هو الإصدار 4، لدينا آخر لأمثلة البحث، وانها كثيرا، أكثر جنسية من ذلك بكثير.
الآن، إحقاقا للحق، أنا فقط جوجل لل"شعار جوجل مولد الخط".
وسمح لي أن لإنشاء GIF، وهو شكل صورة، والتي تبدو مثل وجود.
في الواقع، يمكنك القيام بذلك أيضا.
لدينا "شعار جوجل مولد الخطوط."
>> دعونا نرى ما اذا كنا نستطيع القيام بذلك.
حسنا، أعتقد أن هذا هو الموقع الإلكتروني I المستخدمة.
يمكننا القول المفوضية الأوروبية 10، على سبيل المثال، وجعلها خاصة بهم.
يمكنك ان تلعب مع هذا اليوم جميع طويلة ومن ثم انقر فوق الحق في ذلك
وثم تحميل GIF الفعلية، والتي هي كل ما فعلت.
وبالفعل، وهذا هو السبب في بلدي HTML، أذكر، أكثر من هنا
كان لي علامة الصورة التي رأيناها الأسبوع الماضي لفترة وجيزة
المصدر الذي logo.gif.
ومرة أخرى ما كان الدافع وراء وجود هذه السمة ALT،
هذه السمة البديل؟
نعم.
[رد الطالب غير مسموع]
جيدة، لذلك أسباب 2 حقا، إذا يمكن للمتصفح لا سحب ما يصل الصورة
لأن لديك اتصال شبكة اتصال بطيء أو تلف الصور
أو شيء من هذا القبيل على الأقل يمكن أن نرى الإنسان "CS50 البحث،"
ومن ثم أيضا لأسباب معاقين.
إذا كان لديك أحد المستخدمين الذين أعمى ويستخدم قارئ الشاشة
وبالتالي الواضح لا يمكن أن نرى الصور التي يمكن على الأقل
سماع النص إذا أجهزة الكمبيوتر الخاصة بهم يتحدث لهم.
>> بشكل عام، وهذا هو ممارسة أفضل عندما يتعلق الأمر إلى سهولة الحصول على صفحات
بحيث يمكن للمستخدمين حتى في هذه الحالة نسمع أو نرى، إذا جاز التعبير،
ما هو هذا على الصفحة الخاصة بك.
هناك شيء واحد الأخرى التي فعلت هنا
وهو قليلا للاهتمام، وسنرى المزيد عن هذه المشكلة في حدد 7
عبر واحد من السراويل بقيادة أحد الزملاء التدريس.
ولكن محتوى # يشير إلى علامة
الذي هو معرف المحتوى، ولكن بعد ذلك هناك مسافة، وبعد ذلك هناك مدخلات كلمة.
حسنا، ما هو للاهتمام حول CSS هو أنك تستطيع
الرجوع إلى العلامات في نوع من الصفحة هرميا،
وهذا ما مقتطف من وسائل CSS هو العثور على العلامة
ID الذي هو المحتوى، ومن ثم تطبيق الخصائص التالية
لجميع من علامات الإدخال التي ينحدرون من المحتوى،
ذلك أن يتم وضع مسافة بادئة داخل منه.
المسافة البادئة، مرة أخرى، من المهم فقط إلى الكمبيوتر، وليس على الإنسان،
ولكن عن طريق اتفاقية ونحن بادئة الأمور ونحن نمضي أكثر في الصفحة،
لذلك هذا يعني تطبيق هامش 5 بكسل إلى أي عنصر المدخلات
هذا داخل في مكان ما أو متداخلة داخل
العنصر الذي هو معرف المحتوى.
>> الذين لا تنطبق على؟
حسنا، هناك في الواقع مجرد هؤلاء الرجال 2 هنا.
تلاحظ أن داخل النموذج هناك 2 المدخلات،
كما كان هناك لجميع هذه الأمثلة.
ولكن لاحظ أن هذه المدخلات 2 يحدث أن تتداخل الداخل،
وإن كان قليلا جدا، وطبقات اثنين من المسافة البادئة،
داخل العلامة التي ID هو المحتوى.
ماذا يعني هذا؟
إذا ذهبنا إلى مستعرض هنا تستطيع أن ترى أي وقت مضى قليلا، حتى
اسمحوا لي تكبير في أن هناك قليلا من الحشو بين الزر
وبين حقل النص.
>> اسمحوا لي أن أنتقل مؤقتا أن الخروج.
اسمحوا لي أن ترتفع إلى CSS بلدي، واسمحوا لي أن تمضي قدما وفقط
تغيير هذا الهامش في الفترة من 5 إلى 0 بكسل بكسل.
اسمحوا لي ثم المضي قدما وحفظ الملف، والعودة إلى محرك البحث
وإعادة تحميل، ومشاهدة منتصف الصفحة.
حصلت على كل شيء المضغوطة معا، وعندما جلد الاولى من هذا المثال حتى
وأعتقد أن بدا غبي مع حقل النص ثم الزر على الفور تحتها.
أردت أن سادة ذلك قليلا، لذلك أنا قدمت الهوامش.
ما نحن لن تفعل في المحاضرة تذهب من خلال عدة عشرات من
خصائص CSS التي توجد ل، ومرة ​​أخرى، هناك أشياء مثل حجم الخط،
وزن الخط، الهامش، محاذاة النص، والى عشرات اخريات،
وسنقوم بتحويلك في مشكلة تعيين 7 إلى الدروس المختلفة عبر الإنترنت
والمراجع التي تسمح لك لاختيار هذه الامور.
ولكن ما هو مهم حقا في نهاية المطاف
>> هو فهم كيفية تطبيق هذه الأمور.
مرة أخرى، إذا كان لدينا علامة نمط من الداخل الذي
يمكن أن تذهب للمحددات، هذا النوع من معرفات التي تحدد
لمن لا تريد تطبيق هذه الخصائص،
ثم نضع الخصائص كما كنت الزوج قيمة المفتاح
مفصولة بنقطتين المنتهية في ذلك التاريخ وبفاصلة منقوطة،
أو يمكنك مزق كل ذلك من وضعه في ملف CSS منفصل
في حد ذاته.
كل الحق، أي الأسئلة على مفاهيم
أو صورة كبيرة لCSS؟
سترى مرة أخرى أكثر من ذلك في pset 7،
ولكن سنقوم يبقيه بسيط جدا عموما.
لا؟ حسنا.
حان الوقت للغة البرمجة الفعلية،
وسوف نعود إلى قليلا من CSS على شكل مثال على ذلك.
PHP هو في الواقع لغة رائعة الوصول إليها
لأنه هو بناء جملة تعادل تقريبا C.
وبعبارة أخرى، إذا كنت تعرف C، وانت تعرف لPHP جزء الأكبر،
على الأقل بناء جملة، حتى وإن كانت هناك بعض الميزات الجديدة
وبعض المفاهيم الجديدة سوف يتعين علينا أن ننظر في.
>> ولكن بالنسبة للجزء الاكبر، ونحن الآن أن الانتقال من C إلى PHP
معظم الاشياء الجديدة هي حقا في الصورة الكبيرة،
كيفية استخدام لغة لبرنامج على شبكة الإنترنت بدلا من
في سطر الأوامر أو في موجه امض كما كنا نفعل حتى الآن.
للإشارة، لا سيما مع pset (7) والمشروع النهائي فصاعدا،
لا تستفيد من هذا URL هنا إذا كنت ترغب في الإطلاع على الإجراءات من PHP.
في الواقع انها مثل كتاب مجانا على الانترنت على نحو فعال،
وستجد أيضا أن ما هو لطيف حول PHP
هو أن هناك مئات من الوظائف التي تأتي معها،
في حين أنه في C لم لا يكون لديك بالضرورة الوصول إلى
وكانت وظائف أكثر مما كانت عليه في مكتبة الرياضيات، مكتبة CS50.
في PHP والكثير من اللغات الحديثة، بيثون وروبي من بينها،
يمكنك الوصول إلى العديد من الوظائف أكثر من ذلك، مما يعني أنك تحصل على الكتابة
أقل كثيرا لأن رمز يمكنك الوقوف على أكتاف الآخرين
الذين كتبوا بالفعل بعض الامور بالنسبة لك.
>> دعونا نلقي جولة سريعة في بناء جملة PHP ثم كتابة بعض الأمثلة.
ما هو الجميل في PHP أولا وأخيرا
وليس هناك الوظيفة الرئيسية.
إذا كنت ترغب في كتابة برنامج PHP في البدء مجرد كتابة التعليمات البرمجية،
وليس لديك ما يدعو للقلق الرئيسي.
ليس هناك كثافة العمليات. ليس هناك عودة.
ليس هناك، argv argc ما هو مطلوب عند كتابة البرنامج.
يمكنك بدلا نبدأ كتابة التعليمات البرمجية، وهذا هو في جزء منه
لأن PHP هو ما يسمى لغة مفسرة.
تم تصنيف C، وتأليفه، بمعنى أن تبدأ
مع شفرة المصدر، من خلال ضجيج تشغيله، وهو مترجم،
وأخيرا بعد بعض عدد من الخطوات تحصل رمز الكائن، و 0s 1s.
وPHP بيثون وروبي وبيرل وغيرهم
أنواع مختلفة من اللغات في أن لا يجمع بينها.
لا تذهب من شفرة المصدر لو 0s 1s.
قمت بتشغيل فقط شفرة المصدر، وتشغيل شفرة المصدر
من خلال كتابة نص في ملف المعتاد، الذي ينتهي ب. PHP في هذه الحالة
بدلا من جيم، وما يقوم به البرنامج على جهاز الكمبيوتر الخاص بك
وذلك يفسر حرفيا الخط الخاص بك عن طريق كود سطرا سطرا.
>> وبعبارة أخرى، بدلا من كتابة برنامج وتشغيل البرنامج
تكتب مباشرة بدلا برنامج مع ملف ينتهي ب. بي.
ثم تشغيل البرنامج الفعلي دعا php.exe، إذا كنت على ويندوز،
أو PHP فقط إذا كنت على نظام التشغيل Mac OS أو لينكس،
والتي تقدمها كمساهمة في برنامج PHP التعليمات البرمجية المصدر الخاصة،
والغرض منه في الحياة هو أن تقرأ التعليمات البرمجية الأعلى إلى الأسفل، من اليسار إلى اليمين،
والقيام بكل ما كنت قد قال أن تفعله.
>> دعونا نرى ما هو الذهاب الى هذا يعني التركيب.
في PHP لدينا شروط.
هذه الشريحة مطابق لما رأيت مرة أخرى في الأسبوع 1
لأن الظروف ذو بناء جملة، والمؤسسة الدولية للعلوم IFS آخر، وآخر في PHP
تبدو تماما مثل هذا.
عندما يتعلق الأمر التعبيرات المنطقية انهم ذاهبون للنظر تماما مثل هذا.
عندما يتعلق الأمر anding الأشياء معا والقيم المنطقية انها سوف تبدو تماما مثل هذا.
مفاتيح ننظر نفسه، وتحصل على فائدة إضافية في PHP
يمكن أن مفاتيح التبديل في C فقط على شار أو الباحث ملف.
أنت لا تستطيع تشغيل قيمة سلسلة.
في PHP هل يمكن أن يكون في الواقع تعبير
هذا هو متغير محتوياتها هي سلسلة،
ويمكنك القيام به في الواقع مقارنة سلسلة بطريقة بديهية حقيقية،
لا مقارنة المؤشر، من أجل تقرير ما إذا كان للقيام حالة I أو J أو أي شيء آخر.
سوف نرى أن يحتمل قبل فترة طويلة.
>> الحلقات رائعة جدا من نفسه.
لديك الحلقات التهيئة، الحالة، وبعض عدد من التحديثات.
بينما توجد في حلقات أيضا PHP.
بينما تفعل الحلقات موجودة أيضا في PHP،
والمصفوفات موجودة في PHP، ولكن هنا حيث يبدأ بناء الجملة للحصول على مختلف بعض الشيء،
لكن المفاهيم هي نفسها، والمفاهيم هي في الواقع نفس
كما كانت في 0 أسبوع مع سكراتش.
أولا وقبل كل شيء هو علامة $.
كان هذا قرارا التصميم في PHP حيث أي متغير
في PHP حسب التصميم يبدأ تسجيل $.
هناك المزيد لا X، Y، Z. انها الآن $ X، Y $، $ Z فقط ل.
انه شيء أن نأخذ في الاعتبار، والآن على الجانب الأيمن
هذا يشبه صفيف،
ولكن نستخدمه هنا بين قوسين معقوفين.
في PHP وجافا سكريبت في، كما سنرى في نهاية المطاف،
أن تعلن مجموعة تفعل قوس مربع مفتوحة ومغلقة قوس مربع،
ثم لديك قائمة مفصولة بفواصل من القيم، سواء رجات
أو سلاسل أو حرف، كل ما تريد، داخل هذا التعبير هناك.
>> الآن، كيف نفعل شيئا مثل هذا في C؟
ما كان لإعلان بناء الجملة ثابت صفيف أرقام معروفة؟
كان الأقواس المتعرجة، اختلاف بسيط جدا هنا، ولكن في كل PHP
وجافا سكريبت في نهاية المطاف أنه يستخدم فقط بين قوسين معقوفين، ذلك حقا
التفاصيل المثيرة للاهتمام هنا هو فقط علامة دولار لاسم المتغير
وأيضا بين قوسين معقوفين، وهناك شيء واحد غريبة
انها حذفت ذلك أيضا على الجانب الأيسر من علامة =.
ما هو مفقود التي كنا تتطلب لأسابيع الآن؟ نعم.
[رد الطالب غير مسموع]
حجم، لذلك ليس هناك ذكر لحجم الصفيف.
بصراحة، ليس هناك ذكر من الأقواس المعقوفة على الجانب الأيسر
من علامة =، وماذا مفقود من الخط؟
نعم. >> [استجابة الطالب غير مسموع]
نوع، وذلك ما للاهتمام بوجه خاص إزاء PHP
هو أنه ليست لغة المكتوبة بشدة كما هو C،
وانها مكتوب بشدة أن بمعنى أنه يجب أن يقول شار،
يقول الباحث يجب، يجب القول عشري.
>> في أي وقت تريد متغير عليك أن تخبر ضجيج ما هو نوعها.
PHP قليلا أشد كسلا.
انها فضفاضة كتبته في بمعنى أن
هل يمكن أن يكون العائمة وحرف وخيوط
ورجات وهكذا دواليك، ولكن اللغة نفسها
لا يهتم حقا ما كنت وضعت داخل متغير.
لم يكن لديك إلى إبلاغها مسبقا ما نوع البيانات
يجري في متغير.
انها تماما متروك لكم، لذلك هذا هو لطيف
في هذا لم يكن لديك ما يدعو للقلق الكثير عن كتابة البيانات
والقلق ما هي حججك وهكذا دواليك.
هذا يعني أيضا وظائف في نهاية المطاف في PHP سوف يكون قادرا على العودة
إما الأكثر كثافة من الوقت، وربما مرة واحدة في حين لاخر
وأنها سوف إرجاع BOOL، كاذبة منطقية، على سبيل المثال، للدلالة على أن شيئا ما حدث من خطأ.
وهذا يعطي لنا بعض الإيجابيات، لكنه أيضا سوف تجعلنا نوع من التصميم من قبل
قليلا أشد كسلا عندما يتعلق الأمر بكتابة البيانات.
>> ماذا هناك أن نأخذ في الاعتبار هنا؟
المتغيرات تبدو تماما مثل هذا، حتى $ S = "مرحبا، العالم".
وهذا ربما inferable من المثال السابق،
ونحن لدينا نوع آخر من الحلقة.
هذا واحد سنرى في الواقع مرة واحدة في حين انه منذ مفيد جدا،
وبناء foreach.
في هذه الحالة، يأخذ داخل حلقة foreach من الكلمات قوسين 3 منه عادة،
$ شيء الأولى، وهو ما مجموعة تريد أن تكرار عبر أعضاء،
ثم حرفيا الكلمة الرئيسية، ثم أخيرا،
اسم آخر متغير لك أن تختار.
يمكن أن يكون فو، بار، أو العنصر،
وهذا ما لا بناء
هو إذا كان الصفيف $ يحتوي على 10 عناصر
على كل التكرار من هذا عذرا، مجموعة، في كل حلقة من هذا التكرار
العنصر المتغير يسمى ستكون محدثة
أن يكون العنصر الأول في الصفيف، ثم العنصر الثاني في مجموعة،
ثم العنصر الثالث من الصفيف، وبالتالي تفادي الحاجة
للقيام مزعج قليلا التدوين قوس مربع و
$ أنا لمؤشر في صفيف.
PHP يفعل كل هذا العمل بالنسبة لك، وعلى كل التكرار
يسلم فقط لأنك العنصر التالي من الصفيف
دون الحاجة لمعرفة أو يهتمون موقعها مؤشر رقمي.
>> ثم أخيرا، في الوقت الراهن، هناك ميزة واحدة أخرى من PHP
وهذا سوف يكون مفيدا بشكل كبير، وخصوصا عندما نبدأ البرمجة على الويب،
ومن المعروف أن كصفيف النقابي.
صفائف التي نعرفها حتى الآن ابتداء من 20 ثانية منذ
وخلال الأسابيع ال 8 الماضية المفهرسة عدديا صفائف،
نوع من المصفوفات التقليدية حيث المؤشرات هي رجات،
0، 1، 2، على طول الطريق على ما يصل.
صفائف النقابي الكثير أكثر قوة.
أنها تسمح لك أن يكون مفاتيح التعسفي،
مؤشرات التعسفي والقيم التعسفي.
في حين أنه في مجموعة وانها التقليدية 0، 1، 2،
في مجموعة النقابي يمكن أن يكون لديك مؤشر
أو مفتاح من قيمتها فو هو بار.
ثم هل يمكن أن يكون مفتاح آخر اسمه باز والتي تقدر قيمتها qux.
>> مرة أخرى، يا غبي علوم الحاسب الآلي أسماء المتغيرات العامة هنا،
ولكن النقطة الأساسية هي أن هذه المجموعة ليس لديها قوس قوس 0 أو 1.
انه سيكون بدلا أن يكون قوس فو وباز قوس.
هذا هو الكثير أكثر تنوعا في ذلك ونحن في طريقنا لتكون قادرة على ربط
كلمات مع كلمات أخرى، مفاتيح مع القيم بصورة تعسفية تماما،
ونحن في طريقنا لتكون قادرة على الحصول على تلك القيم مرة أخرى في وقت ثابت
لأن ما تحت غطاء محرك السيارة مجموعة النقابي
حقا هو عبارة عن جدول التجزئة.
يذكر أن جدول التجزئة يسمح لك لوضع بعض المدخلات
مثل وضع كلمة في ديفيد إذا كنت ترغب في إدراج ديفيد في نوع من القاموس،
ثم نعود بعض القيمة عادة.
في حالة سبيلر، صحيحة أو خاطئة.
ديفيد أو ما هو في كلمة أو ليست في القاموس.
مجموعة النقابي هو في الحقيقة مجرد جدول التجزئة،
ولكن هذا التجسد المستخدم ودية أكثر من ذلك بكثير من ذلك.
كما سنرى، انه سيكون للسماح لنا للقيام ببعض الأشياء
جدا، جدا بسهولة.
>> دعونا نلقي نظرة على بعض PHP الأساسية
أمثلة ونرى ما يمكننا القيام به مع هذه اللغة.
اسمحوا لي أن تمضي قدما وفتح في الدليل المصدر لدينا اليوم
يسمى ملف hello1.php.
هذا الملف هو أكثر مما هو عليه تعليق الرمز الفعلي،
لذلك اسمحوا لي في الواقع إزالة كافة التعليقات من الملف
والحاضر لك ولعل أبسط برنامج PHP هنا.
5 خطوط، وبعض من هؤلاء كانوا من المساحة البيضاء،
لاحظت ذلك بعض الاختلافات الرئيسية هنا.
يسمى الملف hello1.php.
السطر الأول جدا، رغم ذلك، هو <؟ PHP.
مماثلة للHTML،
أن تتابع من الأحرف يخبر الحاسوب
"مهلا، الكمبيوتر، وهنا يأتي برنامج نحن في PHP في."
فإنه يتأكد أنه ليس الخلط أنه من بعض اللغات الأخرى.
السطر 2 هو مساحة للاهتمام الأبيض.
السطر 3 هو صديقنا القديم printf،
وهذه المرة في سياق PHP.
PHP لديها نسختها الخاصة لل printf التي تتصرف في عينه،
لذلك هذا هو مجرد الذهاب لطباعة "مرحبا، العالم".
ثم عكس هذه العلامة هنا،؟>، يعني هذا كل شيء عن قانون بلدي PHP.
>> دعونا نرى كيفية تشغيل هذا.
انا ذاهب الى العودة الى بلدي نافذة طرفية هنا.
انا ذاهب للذهاب الى دليل بلدي PHP.
لاحظت أن لدينا مجموعة كاملة من الملفات، أول واحد منها هو hello.php.
اسمحوا لي أن تمضي قدما وتشغيل هذا hello1.php،، أدخل.
نفى إذن. حسنا.
كيف يمكننا إصلاح أشياء مثل هذه في الماضي؟
ما هذا؟ >> [استجابة الطالب غير مسموع]
نحن بحاجة الى القراءة والكتابة، ولكن اسمحوا لي أن تفعل LS-L.
تذكر هذا الناتج إلى حد ما خفي حيث hello1
ويبدو أن قراءة وكتابة البيانات من قبل
ولكن للقراءة من قبل أي شخص آخر.
اتضح هذا هو في الواقع ليس خطوة في الاتجاه الصحيح.
الفرق، مرة أخرى، مع لغة مفسرة
ولم تقم بتشغيل البرنامج مباشرة.
تشغيل بدلا مترجم وتسليمه رمز
أن كنت قد كتبت لذلك يمكن تفسير ذلك سطرا سطرا.
في هذه الحالة، المترجم أو برنامج أريد فعلا لتشغيل
ويسمى حرفيا PHP.
>> في مكان ما على القرص الصلب لهذه الأجهزة وجود برنامج
كتب شخص آخر يسمى PHP، أو على ويندوز php.exe.
ما أنا ذاهب الى القيام به هنا هو أنا ذاهب لتشغيل في الواقع PHP
ولكن كما تقدم له وسيطة سطر الأوامر البرمجية التي كتبت،
ومن ثم سوف تصغير وهاهنا.
تشغيله برنامجي بالنسبة لي، أعلى إلى أسفل، من اليسار إلى اليمين.
اسمحوا لي أن تمضي قدما وفتح الفرق طفيف من هذا.
في إشعار hello2.php أن هذا أيضا
هي في معظمها التعليقات، لذلك اسمحوا لي أن الحصول على التخلص من تلك والهاء،
وبشكل واضح ما هو مختلف الآن عن هذا الملف؟
هناك هذا الخط الجديد، إلى حد ما خفي في الأعلى.
في السطر 1 انها #! / بن / PHP.
بن هو اتفاقية لينكس وماك OS لثنائيات،
حتى / بن يعني هذا هو مجلد يحتوي على مجموعة من الثنائيات
ان تبرمج، واحدة منها هي PHP.
و#! يلقب كوخ،
وهي طريقة سريعة للقول ذلك، وهذا ما يعني
هو أنه عند تشغيل هذا البرنامج الآن هناك إشارة في أعلى الملف
أن يخبر الحاسوب ما مترجم للاستخدام.
>> فإنه يحصل مزعج قليلا إذا كان عليك أن تخبر المستخدمين والزبائن
"مهلا، كتبنا هذا البرنامج يسمى hello1.php".
يتم تشغيل جميع الأبد ما عليك القيام به PHP وفوق اسم هذا البرنامج.
بصراحة، سيكون من أجمل فقط لتشغيل hello1.php،
وبالفعل، يمكننا إذا أردنا القيام بما يلي.
اسمحوا لي أن نمضي قدما ونفعل LS-L، وإشعار hello2 انها لا تزال مجرد قراءة الكتابة
ومن ثم قراءة قراءة، لذلك لا أستطيع أن أفعل هذا حتى الآن، hello2.php.
ولكن قدمنا ​​هذا من أي وقت مضى فترة وجيزة من الوقت الماضي، الأمر chmod.
إذا كنت تفعل شمود + X، الأمر الذي يعني جميع executability بالاضافة الى ذلك،
وhello2.php ثم وبعد ذلك LS-L تلاحظ مرة أخرى ما تغيرت.
واحد، لينكس يظهر لي اسم الملف باللون الأخضر للتعبير عن فكرة
أن تنفيذ ذلك، ولكن الأهم من ذلك، على الجانب الأيمن
تلاحظ أن تم الآن بت تمثل X لتنفيذ تعيين.
ما يعني الآن استطيع ان اركض ./hello2.php كالعادة،
تصل إلى تدخل، وبسبب كوخ في أعلى جدا من الملف
هذا إشارة، مرة أخرى، إلى أن يقول لينكس
استخدام هذا مترجم لتشغيل هذا الملف.
لا تقلق بشأن إجبار المستخدم لكتابة فعلا.
>> وما هو جميل الآن انها نوع من زبائني لا علاقة لها أو أصدقائي
ما اللغة كتبت هذا البرنامج في، حتى أتمكن من المضي قدما في MV
وإعادة تسمية هذا الشيء لhello2، على سبيل المثال.
والآن إذا كنت تفعل ./hello2
والتصغير برنامجي يستمر تشغيل.
هذه هي امتدادات الملفات الاتفاقية البشرية التي من الضروري
عن شيء مثل ضجيج وتقديم الذين ينظرون لهم.
ولكن لPHP، أنا يمكن أن نسمي هذا شيء أريد ملحق الملف.
ويمكنني أن خداع العالم إلى الاعتقاد بأن انا جيد حقا في روبي،
ويمكن أن أكتب hello2.rb ثم قم بتشغيل هذا،
وفويلا، والآن لدي نسخة روبي، التي هي كذبة كاملة.
ولكن لا معنى لها امتدادات الملفات
إذا كان الملف القابل للتنفيذ وهذا التلميح له خاصة في الجزء العلوي من الملف.
>> الآن، بوصفها جانبا، اسمحوا لي أن تظهر لك بسرعة الإصدار 3،
وهو نوع من خدعة من المفيد معرفته.
في hello3 فعلت شيئا خاطئا قليلا
التي سوف أقوم بتحديث على الانترنت شفرة المصدر.
في الإصدار 3 اتضح أن معظم أجهزة الكمبيوتر على لينكس
هناك برنامج يسمى الحياة الفطرية للبيئة،
وما يمكنك القيام به هنا هو إذا كان لديك أي فكرة من أين PHP
تم تثبيت على القرص الثابت المحلي، وذلك لأن الواقع قد تختلف على الكمبيوتر
أن شخصا ما يستخدم، فقط يقول الحياة الفطرية الحياة الفطرية تشغيل،
وهو على معظم أنظمة، ومعرفة من أين هو PHP.
مجرد خدعة شائعة جدا لم يكن لديك ما يدعو للقلق حيث معرفة البرنامج.
لكن اذا كنت تفعل الرعاية لمعرفة أين هو برنامج وأنت لم يهتم حتى الآن
يمكنك استخدام الأمر الذي.
>> اسمحوا لي أن التصغير والنوع الذي PHP،
وتلاحظ ذلك يقول لي انها في الواقع في البيرة / بن / PHP.
انها نوع من الكذب. كما انها في سلة المهملات.
انها تظهر لي فقط في الضربة الأولى.
إذا كنت تتساءل أين هو ضجيج، والتي ضجيج، وهذا في البيرة / بن / رنة،
التي تجعل، البيرة / بن / جعل، وما يعنيه ذلك هو كل هذا الوقت
هل يمكن أن يكون تم كتابة البيرة / بن / رنة ENTER لتشغيل ضجيج،
ولكن انها نوع من مملة للقيام بذلك، وحتى بعض المجلدات
ويفترض مثل البيرة / بن بن وأن تكون الافتراضات
وبالتالي فإن الكمبيوتر يعرف أن ننظر فيها لك.
أي أسئلة حول كتابة، سوبر سوبر بسيطة برنامج مرحبا العالم
في PHP ثم تشغيل ذلك؟
لأنه الآن سوف نبدأ في بناء جملة إدخال أكثر إقناعا.
حسنا، هنا نذهب.
هذه البرامج شهدنا في الواقع كل منهم من قبل.
>> إذا كنت فتح، على سبيل المثال، دعونا نفعل beer1.php،
ونحن لن تذهب من خلال عدة إصدارات من هذا، ولكن ما فعلت
وجلست وسكب عليه أو تحويلها
بلدي C رمز لرمز PHP هنا.
معظم الجزء العلوي من الملف التعليقات هنا.
اتضح أن هناك وظيفة واحدة جديدة نحن بحاجة دعا ريدلاين.
GetString، نذكر، من بعده 0 أسبوع كان شيئا CS50.
PHP يأتي مع وظيفته سهلة الاستخدام الخاصة بها ودعا يقوم readline
أن يأخذ 1 الحجة التي تحدد موجه
أن كنت تريد أن تظهر للمستخدم، ويفعل ما يقوم readline
وتقوم بإرجاع كل ما يقوم المستخدم بكتابة فيها
في هذه الحالة، وأنا اعلان متغير يسمى $ ن.
أنا تخزين فيه القيمة المرجعة من يقوم readline
بعد مطالبة المستخدم مع هذه السلسلة.
فقط لعمل نسخة احتياطية، لتشغيل هذا الشيء في الواقع، اسمحوا لي أن المضي قدما
وتشغيل PHP beer1.php.
كم عدد زجاجات تكون هناك؟ دعونا نفعل فقط 2 هذا الوقت.
دخول. هذا كل شيء.
>> هذا البرنامج هو عمليا مطابقة للنسخة C من أسابيع.
ولكن دعونا نرى ما ذو بناء جملة مختلف.
بعد أن تحصل على كثافة العمليات من إشعار المستخدم الذي أقوم به بعض تدقيق الأخطاء،
وإذا كان n أقل من 1 أستقيل وأنا طباعة
آسف رسالة إلى المستخدم والخروج مع 1.
هذا هو أيضا مختلفة قليلا.
في C ما لم نفعله؟ في C عدنا 1.
في PHP الخروج مع 1، والتي بصراحة وأعتقد أكثر من ذلك بقليل بديهية
لأنك تخرج حرفيا في البرنامج.
كل الحق، ومن ثم إلى هنا أغنية مزعج مماثل ذو بناء جملة
باستثناء متغير، لذلك هنا في أسفل خط 24 فصاعدا
تلاحظ لي للحلقة هو نفسه تقريبا،
ولكن لدي $ أمام ط ن و،
وما هو مفقود أيضا من خط ال 26 التي لدينا في الماضي
عندما يعلن ط متغير؟
ليس هناك نوع.
فمن غير صحيحة في PHP ليقول الباحث.
كنت ببساطة لا تحتاج للقيام بذلك.
الكمبيوتر، PHP مترجم ذكي بما فيه الكفاية لتحقيق
أنه إذا كنت وضعت رقم في $ I فإنه التعامل معها
كرقم لك.
ثم إلى هنا ونحن في المكونات $ ط، ط $، $ ط - 1.
كل ذلك هو نفسه، ثم إلى هنا نحن نفعل "نجاح باهر، وهذا مزعج" printf
ومن ثم الخروج (0).
>> مرة أخرى، الوجبات الجاهزة هنا هو أنه على الرغم من أننا ذاهبون لقضاء نسبيا
قليلا من الوقت على PHP، وبالتأكيد مقابل ما فعلناه في C،
انها تقريبا نفس الشيء، وذلك ما سنقوم به اليوم والاسبوع المقبل
وبعد هو التركيز حقا على بعض الأفكار الجديدة.
فقط لمعرفة أن شيئا واحدا لا غيره ترجمة أكثر من C،
كان هذا البرنامج السوبر سهلة فعلنا في أسبوع 1
أو 2 أن مكعبة قيمة.
ولكن ما كان مثيرا للاهتمام في ذلك الوقت عن هذا البرنامج هو أنه
عرض مفهوم وظيفة مخصصة مكتوبة أننا أنفسنا كتب.
بناء الجملة في PHP هو نفسه تقريبا.
وهنا برنامجي حتى القمة.
تلاحظ مرة أخرى تغيب أي فكرة الرئيسية.
أبدأ كتابة التعليمات البرمجية، وهذا هو ما يحدث للحصول على تنفيذها بواسطة المترجم.
I طباعة x هو الآن 2، ويفترض.
ثم أزعم التكعيب ...
ثم أعطي الكلمة الدالة وتمرير مكعب في $ X
وتعيين قيمة الإرجاع إلى $ X.
ثم أزعم هذا ما مكعبة، ثم أقول هذا، والذي نأمل
سيقول X الآن 8.
بناء الجملة من أجل وظيفة في PHP من أي وقت مضى حتى قليلا مختلفة.
مرة أخرى في عداد المفقودين هو نوع الإرجاع.
مرة أخرى في عداد المفقودين هو نوع الإرجاع والمفقودين أيضا هو ما نوع آخر؟
[رد الطالب غير مسموع]
حسنا، حسنا، هذا امر جيد. دعونا نعود إلى ذلك في الثانية.
>> ليس لدينا، على سبيل المثال، وكثافة العمليات هنا.
نحن لا، على سبيل المثال، قد الباحث هنا ل، مرة أخرى، في PHP
كنت ببساطة لا تحتاج إلى ويجب أن نفعل ذلك،
بل هناك هذه الكلمة الرئيسية وظيفة جديدة تسمى.
في PHP انها تقريبا قليلا أكثر وضوحا لأنه عندما كنت ترغب في وظيفة
تقول حرفيا وظيفة، كنت تعطيه اسما ثم قائمة مفصولة بفواصل
إذا كان أي من حججه.
لا حاجة للقول باطل أو أي شيء من هذا القبيل، ومن ثم العودة هو نفسه،
دولار * دولار * دولار.
ما هو مفقود أيضا؟ وأشار سامي إلى هذا هنا.
في الجزء العلوي من الملف غائبة تماما في PHP هو أيضا النموذج الأولي.
هذا أيضا حسب التصميم.
اللغات والمترجمين الفوريين مثل PHP أذكى من أي وقت مضى C
في مثل المجمعين ضجيج.
>> نذكر بأن ضجيج، وإذا كنت لم يقل أن المكعب موجود،
إذا كنت لا أقول أن وجود printf كما هو الحال مع النموذج
أو مع تضمين #، حسنا، لقد كان الذهاب الى يصيح في أنت وحتى لا ترجمة التعليمات البرمجية.
PHP واللغات الحديثة أكثر ذكاء الكثير عندما يتعلق الأمر ذلك.
وسوف تأخذ على عاتقها من خلال قراءة كل التعليمات البرمجية
ويصيح ثم عليك إلا إذا وجدت في أي مكان المكعب.
لا يهم إذا مكعب في الجزء السفلي أو العلوي أو حتى في بعض ملف منفصل.
لغات PHP والآن مماثلة ذكية بما فيه الكفاية للتطلع إلى المستقبل
في كل شيء قبل تنصيب لكم وبعد أن ارتكب خطأ.
التي لا تترك لنا؟
>> دعونا نفعل هنا مثال واحد آخر في ظروف،
وإذا كنت فتح إشعار conditions2.php جدا
بناء جملة هنا هو نفسه تقريبا.
أنا استخدام Readline بدلا من GetString، ولكن هذا الخط هو نفسه كما كان من قبل،
"أود عدد صحيح من فضلك."
ثم لدي شرط إذا، وإذا آخر، وبعد ذلك آخر،
ولكن وظيفيا هذا البرنامج هو أيضا مطابق لما قمنا به منذ أسابيع،
إذا كان الأمر كذلك تشغيل هذا الشيء، PHP من conditions2،
وأعطيها مثل عدد 23 -
وقد اخترت رقما موجبا. إذا أعطيها -1 التقطت رقم سالب.
إذا أعطيها 0 أنا اختار بالفعل 0.
ذلك الذي يهتم كل هذا؟
حسنا، واحدة من نوع متعة من التمارين هنا
بالنسبة لي على الأقل كان للعودة ونرى كيف يمكن أن تنفذ بسرعة I pset 5،
وpset أخطاء إملائية.
يذكر أن هناك ملف يسمى هذا speller.c،
وكان هناك ملف يسمى dictionary.c.
ما فعلته كان النوع الأول من قضى بضع دقائق وأنا تحويل كود C
لPHP الرمز، ونحن لن تنفق الكثير من الوقت على سبيلر
لأن مثل pset في 5 أنت لم حقا بحاجة الى
تنفق الكثير من الوقت على نفسها بسبب سبيلر انتباهكم كان على القاموس.
>> ويكفي ان نقول انه اذا كنت تقرأ من خلال سبيلر،
هذا الملف هنا، انها جميلة كثيرا ما يعادلها إلى رمز C
قدمنا ​​لكم لpset 5.
واضاف لقد سوى بعض دولار في الأماكن.
لقد تغيرت أسماء ظيفة معينة إذا لم تكن موجودة في PHP.
هناك شيء واحد إضافية هنا، preg_match،
وهو الطريق قليلا مربي الحيوانات من فعل شيء ما، ولكننا سوف نعود إلى ذلك في نهاية المطاف.
ولكن باختصار، سبيلر مطابق تقريبا، وإذا نظرت في أسفل جدا
ما يبصق في النهاية هو هذا هنا،
أخطاء إملائية الكلمات، الكلمات في الكلمات، القاموس في النص.
حسنا، ماذا في ذلك للاهتمام الآن هو ما يلي.
في الجزء العلوي من الملف الخاص بي وأنا التي تتطلب dictionary.php.
كما تشمل C # PHP ولها وظيفة خاصة تسمى تتطلب
الى حد كبير أن يفعل الشيء نفسه، تتطلب ملف يسمى dictionary.php.
كيف يمكنني التوجه نحو تنفيذ pset 5؟
اسمحوا لي أن تمضي قدما وفتح ملف هنا.
اسمحوا لي أن أغتنم مرجع قليلا هنا.
واسمحوا لي أن إنشاء ملف جديد وبدء الدعوة هذا dictionary.php.
اسمحوا لي أن وضعها في مجلد آخر حتى نتمكن من القيام بذلك نعيش.
والآن أنا تكبير.
أنا ذاهب لبدء ملفي PHP مع شريحة مفتوحة PHP إغلاق قوس.
ومن ثم كانت هناك في هنا عدد قليل من الوظائف اللازمة لتنفيذ I لpset 5،
لذلك اسمحوا لي أن أبدأ تنفيذ بعض من تلك،
حتى تحقق الوظيفة التي يتعين عليها أن تأخذ في كلمة كوسيطة.
سوف نفعل ذلك والعودة إليها في لحظة.
>> كان هناك حمل وظيفة، والتي أخذت في ما كوسيطة؟
القاموس، وبالتالي فإن الملف الذي أردت فعلا ليتم تحميلها.
كان هناك حجم وظيفة، والتي لم تأخذ أية وسائط
وكان هناك وظيفة، ما كان الآخر؟
تفريغ، والتي لم تتخذ أي حجج سواء.
هذه هي المهام 4 أن كنت بحاجة لتنفيذ الآن في PHP،
وما أنا بصدد القيام به هو المضي قدما ونفعل ذلك.
تستخدم الكثير منكم جدول التجزئة في pset 5،
لذلك اسمحوا لي المضي قدما في إنشاء جدول تجزئة في PHP.
القيام به.
أن يعطيني جدول التجزئة. حسنا، لماذا؟
واحد، ويسمى المتغير $ الجدول، لمجرد أن تستحضر فكرة جدول التجزئة.
الأقواس المربعة، على الرغم من التذكير، تمثل ما؟
مجموعة، ولكن في صفائف PHP لا يجب أن تتم فهرسة عدديا.
يمكن أيضا أن تكون صفائف النقابي،
مما يعني أنك يمكن أن يكون لها مفاتيح التعسفي والقيم.
>> يشبه إلى حد كبير في pset 5، أولئك منكم الذين لم تطبيقات جدول التجزئة
ربما قمت بإدراجه الكلمة ثم إدراجها في سلسلة من القوائم المرتبطة،
أو يمكنك تخزين قيمة في مكان ما أو شيء صحيح في هذا الشأن.
كنت تذكر على نحو ما أن الكلمة كانت هناك.
في الوقت الراهن، وهذا سيكون مائدتي التجزئة،
وحتى الآن للذهاب نحو تنفيذ وظيفة الاختيار
أنا فقط بحاجة إلى نظرة من الداخل من هذا الجدول التجزئة
ومعرفة ما إذا كان هناك كلمة واحدة.
ما أنا بصدد القيام به هو أنا ذاهب ليقول IF-
دعونا نقول isset، التي هي وظيفة PHP حرفيا يعني فقط أن هو مجموعة المفتاح،
حتى isset ($ الجدول [$ كلمة]،
وإذا كان الأمر كذلك العودة الحقيقية.
هذا هو. هذا pset 5 في PHP.
حسنا، إحقاقا للحق، حسنا.
العودة آخر كاذبة، لذلك ليس هناك.
ما يحدث حقا هنا؟
حسنا، إذا كان الجدول أو الجدول التجزئة هنا بشكل عام،
هو مجموعة النقابي هذا يعني انه يمكنك فيه مؤشر
بكلمة مثل "كلمة"، وكان لديك للعودة بعض القيمة.
>> نحن الحصول على نوع من خطوة واحدة قبل أنفسنا.
سيكون من الرائع إذا نوع من حملنا فعلا الملف الأول،
ذلك الحمل ليست واردة بهذه البساطة، ولكن اسمحوا لي أن تمضي قدما واثارة
والتنفيذ السريع حقا من الحمل.
اسمحوا لي أن تمضي قدما ويقول كلمات قاموس يحصل الملف.
وظيفة الملف في PHP يفتح ملف
ويعود لكم مجموعة من كافة الكلمات في هذا الملف،
يسلم منهم فقط لك.
ذلك كان الألم كبير جدا، أليس كذلك؟
الآن foreach، وهذا هو بناء جديد لدينا، foreach ($ $ كلمات وكلمة).
هذه الحلقة سوف تبدأ بالتكرار فوق الكلمات مجموعة
وتعيين لمتغير $ كلمة كل كلمة في الملف
من الأول إلى الثاني إلى الثالث إلى الطريقة الرابعة جميع
لذلك أنا لم يكن لديك للقيام مزعج التدوين [i] و ما شابه ذلك.
وما أنا ذاهب لمجرد القيام به لكل من هذه الكلمات
وتخزينها في الجدول بلدي الفهرسة في الجدول
وثم القيام صحيح لأن تذكر
أن الكلمة في القاموس بلدي كل ما لدي حقا أن تفعل
هو نوع من الوجه قليلا ويتكلم هذه الكلمة في بلدي الجدول التجزئة هو هناك، صحيح.
وإذا لم يكن هناك، وأنا لم يكن لديك لوضع صراحة كاذبة،
وإلا كنت قد وضعت كاذبة لجميع الكلمات الممكنة في الكون.
>> يكفي بالنسبة لي فقط لتعيين قيمة المؤشر
إلى true إذا كانت الكلمة هي في الواقع في بلدي الجدول التجزئة.
الآن، وأنا قطع اثنين من زوايا هنا أن موجة أنا يدي في الوقت الراهن،
ولكن الآن يتم تحميل وظيفة.
I تحميل جميع الكلمات من الملف في صفيف.
I تكرار عبر هذا الصفيف، ولكل كلمة في مجموعة
I المكونات إلى بلدي الجدول التجزئة مع 1 سطر من التعليمات البرمجية.
هذا هو متعة. تعرف كيف يمكننا تنفيذ حجم الآن؟
حسنا، حجم دائما من السهل جدا، في الإنصاف.
هنا يمكننا فقط لا يعود العد من الجدول.
أن من السهل جدا جدا، حساب عدد الأشياء في الجدول.
وهذا في الواقع نوع من عدم كفاءة أكثر.
وأود أن من المحتمل أن يكون حجم متغير يسمى حتى نتمكن من القيام بذلك
في الوقت مستمر، ولكن هذا من السهل جدا.
أوه، وتفريغ ثم، إذا كنا نريد حقا أن تكون الشرج هنا
يمكننا أن نقول هذه هي الطريقة التي تفريغ شيء ما.
ما عليك سوى تحديد المتغير يساوي مجموعة فارغة،
ويتخلص من كل ما كان هناك.
لا حاجة للاتصال مجانا.
>> مرة أخرى، لقد قطعت بعض الزوايا I، وأعتذر عن مجموعة مشكلة تخصيص 5
ربما في C، ولكن إذا كنا الآن المضي قدما وتشغيل هذا،
أنا ذاهب لتشغيل في الواقع الإصدار الذي كتبته مسبقا
فقط حتى أنني لم تجعل أي أخطاء النحوية على الإطلاق.
اسمحوا لي أن تمضي قدما وتشغيل سبيلر. استخدام هو نفسه.
وهنا لملف القاموس الذي يحتوي على كلمة فقط فو.
هنا ملف نصي الذي يحتوي فقط فو بار.
دعونا التدقيق الإملائي هذا، سبيلر ذلك، وذلك باستخدام هذا الملف على هذا القاموس ملف نصي.
هناك كلمة واحدة بها أخطاء إملائية، بار، وفويلا.
فعلت مع pset 5.
دعونا نأخذ استراحة 5 دقائق بالسيارة هنا، ونحن سوف يعود وأكثر على PHP.
حسنا، لقد عدنا.
دعونا نفعل والكراهية لي لفترة من الوقت.
دعونا الآن نرى في الواقع، إذا كانت هذه ليست إيجابية
في الواقع تنفيذ هذا الشيء في PHP.
استغرق الأمر مفروغا منه، 45 ثانية لتنفيذ.
>> ولكن دعونا نمضي قدما الآن وإدارة الأمور.
اسمحوا لي أن تمضي قدما وتشغيل إصدار C
من سبيلر، وسنقوم تشغيله على واحدة من أكبر الملفات،
وهو الكتاب المقدس الملك جيمس.
وهذا هو هنا في لنذهب إلى المجلد C لدينا،
سبيلر على الملك جيمس لل5.
وهناك الكثير من الكلمات التي بها أخطاء إملائية.
حسنا، لذلك هذا هو الإخراج الذي حصل على الأرجح حتى لو كانت الأوقات مختلفة قليلا،
إذا كنت حصلت على كل شيء يعمل بشكل صحيح، وذلك في الوقت الإجمالي إلى التدقيق الإملائي
وكان الملك جيمس الكتاب المقدس 0.38 ثواني، لذلك جيدة باستخدام هذا التنفيذ.
والآن اسمحوا لي الخوض في إصدار PHP، التي كتبنا فقط.
اسمحوا لي أن تشغيل سبيلر على الملك جيمس.
يصيح، تجاهل هذا الخطأ. أنا في الدليل خاطئ.
سبيلر على الملك جيمس لل5.
على وشك الانتهاء.
>> حسنا، سوف المراقب المخضرمين يدركون أن كان أكثر من 3 ثوان هناك.
هذا هو الوقت الحقيقي تشغيل.
تبين أن الأمر يتطلب بعض الوقت ليبصق الكثير من النص إلى
بسبب التخزين المؤقت القضايا، ولكن قصيرة قصة طويلة،
هو أن 3.15 ثواني من الوقت آلة، CPU الوقت،
مقابل ما كان عليه قبل لحظة؟
مثل .3.
أعني، انها لحجم أبطأ، فأين هو أن
تباطؤ سخيفة تأتي من؟
حسنا، كما كان الحال مع معظم القرارات تصميم أي التي قمنا بها
في فئة خلال الأسابيع ال 9 الماضية هناك دائما تقريبا هذا المقايضة.
في بعض الأحيان بين الفضاء فقط، وأحيانا بين المكان والزمان،
الفضاء والوقت والجهد التنمية، وهنا في الواقع، على الرغم من
نخلص كمية كبيرة من الوقت، وربما يحتمل 10-20-30 ساعات
من الوقت اللازم لتطوير تنفيذ المدقق الإملائي
عن طريق الجلد لأنه حتى في مجرد 45 ثانية مع هذه اللغة
الثمن الذي ندفعه هو أنه أمر من حجم أبطأ نتيجة لذلك،
وهذا هو الحال عموما مع أي تفسير اللغة الأكثر،
PHP، بيثون، روبي، لؤلؤ أو غيرها حيث
إذا كنت تريد الذهاب لتشغيله من خلال مترجم، وأنها قراءة التعليمات البرمجية
سطرا سطرا، غادر أعلى إلى أسفل، إلى اليمين،
أن الوسيط هو الذهاب الى بعض الوقت خاصة بها،
وما كنت تشعر هنا في 3 ثوان بدلا من 0.3 ثانية
هو حقيقة أن هناك من لديه هذا الوسيط لتفسير رمز لنا حرفيا
سطرا سطرا، والعياذ بالله إذا كنت داخل حلقة
مع ملف ضخمة تحتوي على مئات الآلاف من الكلمات.
>> أن النفقات العامة سوف تضيف ما يصل وتضيف ما يصل وتضيف ما يصل وتضيف ما يصل.
لأداة مثل هذا هو على الأرجح ليس أفضل لغة لاستخدامها لتنفيذ
المدقق الإملائي إذا الفورية هي التي تهم المستخدمين ولك.
ولكن لدينا الفاخرة في لحظة هو إذا كنت
استخدام لغة PHP أو مثل الكثير من لغات تفسير
في سياق الشبكة، لهذه المسألة، لديك صالح
أن الإنترنت هو الكثير أبطأ من معظم أجهزة الكمبيوتر.
لديك CPU في الكمبيوتر غيغاهرتز، 2 غيغاهرتز، وربما أكثر في هذه الأيام.
ولكن الواقع هو على الإنترنت هناك كمية عالية من الكمون
حيث لمتصفح لاجراء محادثات مع الخادم، حتى ولو رأينا الأسبوع الماضي
أن هذا سريعا جدا، نصف ميلي ثانية واحدة أو نحو ذلك،
يضيف أيضا ما يصل، وإذا كنت تقوم بتنزيل أشياء مثل صورة
أو صورة أو الحصول على الفيسبوك الرسائل الفورية أكثر من الثرثرة الفيسبوك،
Gchat أو ما شابه ذلك، كل هذه الأوقات ذهابا وإيابا
بين المتصفح والخادم بداية لتضيف ما يصل،
مما يجعل اختيارك للغة معينة في كثير من الحالات
ليس كل ما ذات الصلة، لذلك كنت غرامة باستخدام لغة أبطأ قليلا
مثل PHP أو Python أو روبي
ولكن هناك والتي الإيجابيات كبيرة لك ولزملائك
وأصدقائك لأنك يمكن تنفيذ الأمور بذلك، حتى أسرع بكثير.
وعلاوة على ذلك، لديك خطر أقل بكثير من ثغرات أمنية معينة.
ليس هناك مؤشرات في PHP.
ليس هناك أخطاء SEG التي يمكن أن تحدث بسهولة
في بنفس الطريقة التي يمكن في C.
مع C كنت سوبر قريب من الأجهزة.
مع لغات PHP ومماثلة كنت نوع من مستوى أعلى، إذا جاز التعبير،
مع الكثير من الدفاعات بينك وبين ما يحدث في الواقع على
داخل الجهاز، وانها مجرد المقايضة.
>> وصلنا إلى نقطة وجود هذه أكثر حداثة، لغات المستوى العالي
مثل PHP بسبب الدروس المستفادة في لغات مثل PHP في C.
ولكن إذا كنت لا أفهم ما كان يحدث تحت غطاء محرك السيارة كل هذا الوقت
أنت بالتأكيد لا يمكن اتخاذ القرارات التصميم الصحيح،
وبالتأكيد عندما يتعلق الأمر إلى العمل في مكان مثل الفيسبوك أو جوجل
أو أي من هذه الأماكن التي يلعبون بشكل متزايد مع مجموعات البيانات الكبيرة
حتى لو كنت أعود وقبل الطبي لا ونعمل مع بعض MD
على بعض البيانات الكبيرة التي تنطوي على مجموعة من المرضى والأطباء
ومثل استخدام الأدوات الصحيحة هي مقنعة بشكل كبير
لأن خلاف ذلك قد تحليلكم لبعض مجموعة البيانات تأخذ ثانية،
أو قد يستغرق ساعات حرفيا.
هذا مثال واحد فقط، وليس لإحباط الجهود لك كيف أكثر من ذلك بكثير
كان في C ولكن لمساعدة نقدر لكم أنه عند القيام بتنفيذ شيء في C
كنت أفهم حقا، أو من الناحية النظرية، فهم حقا
كيف ينبغي أن كل شيء على ما أو عمل، وكان لديك السيطرة الكاملة تقريبا
حول ما يجري تحت غطاء محرك السيارة، وهذه اللغات مع مستوى أعلى
لديك المزيد من السيطرة على التخلي عن لشعب الذي اخترع لهم
وتخضع قرارات لأكثر من تصميمها لك.
ولكن إذا أخذنا من المسلم به أن الأداء
ليس تماما أهمية على الويب لأن هذه قضايا أخرى،
سرعة الشبكة فقط هي أبطأ قليلا من سرعة وحدة المعالجة المركزية على أي حال،
حتى نتمكن من فرز للتحمل لاستخدام لغة أبطأ قليلا
إذا كانت الإيجابيات هي الأشياء يمكننا تطوير 10 مرات أسرع أو أكثر.
>> دعونا نرى كيف يمكننا البدء في استخدام هذه.
اسمحوا لي أن انتقل إلى مجلد
من بين أمثلة اليوم دعا frosh.ims،
وكان هذا في الواقع دوافع شخصيا من حقيقة أن أول شيء جدا
كتبت لويب سنوات بعد أخذ CS50 CS51 و
وكان موقع على شبكة الانترنت لبرنامج الرسائل الفورية Frosh والرياضة طالبة جماعية،
في الوقت الذي كان يكفي هذه السنوات منذ أن في ذلك الوقت
لم يكن هناك موقع لهذا البرنامج، على الرغم من وجود ويب،
وبدلا من ذلك كان هناك بروكتور في يجلزوورث حيث إذا كنت تريد
للتسجيل في الكرة الطائرة أو كرة القدم أو أي شيء ترغب ملء قطعة من الورق.
هل المشي ثم عبر الفناء.
هل تدق على الباب ثم والشرائح في الباب أو اليد إلى بروكتور
قطعة من الورق مع اسمك على ذلك، ما إذا كنت تريد أن تكون كابتن الفريق،
ما هي الرياضة أردت القيام به، وما كان المبنى المكون من أنت فيه.
كان نوعا من طريقة المدرسة القديمة لعمل الأشياء، وهذا كان وزراء
فرصة لأتمتة الكثير من هذه العملية.
تذهب فقط إلى الموقع. قمت بكتابة شيء فيه.
تحصل على تأكيد البريد الإلكتروني، والازدهار، الانتهاء من ذلك.
>> كان هذا هو أول شيء فعلته جدا، وإن كان بلغة بيرل دعا،
ولكن من السهل نسبيا القيام به في PHP، وهذا هو نوع من ممثل
من المشاكل يمكنك أن تبدأ حل عندما يمكنك التعبير عن نفسك
برمجيا وليس من الضروري أن تعتمد على أشياء مثل مواقع Google
أو Excel أو الأدوات التي يتم تسليمها لك.
يا رفاق الآن لديها القدرة على القيام بأمور من هذا القبيل.
هذا هو نسخة سوبر القبيح للنموذج،
ولكن دعونا مجرد استخدامه لبدء المحادثة حيث هذا هو
ما بدا تقريبا مثل شكل منذ سنوات بالنسبة لنا
لتمكين الناس على شبكة الإنترنت للاشتراك في الرسائل الفورية Frosh.
سألنا عن اسم، وهو مربع لما إذا كانت تريد أن تكون قائد،
ذكر أو أنثى، ومن ثم ما كانت عليه في النوم،
ومن ثم فإنها تقدم هذا النموذج.
دعونا ننظر أولا تحت غطاء محرك السيارة في HTML الذي يمثل هذه الصفحة.
اسمحوا لي ان اذهب الى froshims0،
وبوصفها جانبا، لpset 7 أنا أتعامل مع من المسلمات
الدلائل والمجلدات التي أنا فيها وضع الأشياء
سنقوم المشي لكم من خلال الاشياء بالضبط أين يجب أن يذهب في الجهاز،
أوامر وزارة الدفاع التي لديك لتشغيل، لذلك لا تقلق بشأن كل من
تفاصيل غبية المزامنة من هنا في الحصول أولا بأول.
>> كل الحق، وهنا froshims0.php.
اسمحوا لي أن انتقل لأسفل، وما هو الغريب هنا،
هذا هو ملف PHP، ولكن ما هو داخل منه، بشكل واضح؟
انها مجموعة كبيرة من HTML، وبالفعل، PHP في أصول
كانت حقا لكونها لغة ويب مركزية.
منذ لحظة كنا لتنفيذ المثال البيرة،
الشروط سبيل المثال، المثال مرحبا، وهذا شيء طيب.
يمكنك استخدام PHP كلغة برمجة
حيث السيناريو هو في الحقيقة مجرد التسمية التي تعطى للبرنامج سريعة وقذرة
أو شيء من هذا أن تكتب في لغة كتابتها أو أكثر عموما تفسيرها.
PHP السوبر مفيدة لهذا لأنك قد رأيت مدى سرعة
نسبيا يمكننا اثارة في برامج PHP.
لكنها صممت حقا لاستخدامها في الانترنت،
وصممت للويب، بمعنى أن تلاحظ هنا في الجزء العلوي من الملف
أنا لا تبدأ مع PHP؟ <.
ثم لدي مجموعة من التعليقات عديمة الفائدة، ومنح، ولكن بعد ذلك إغلاق PHP واسطة.
ولكن بعد ذلك أنا قطرة في وضع HTML.
>> ما هو اهتمام حول PHP على الرغم من أن الملف ينتهي ب. PHP
عموما من المفترض أن تكون ممزوجة معا مع HTML،
بعض رمز PHP، HTML بعض.
وسنرى في نهاية المطاف أن نتمكن من البدء في تلك ندف بصرف النظر
لدينا والحفاظ منفصلة من HTML PHP لدينا تماما،
لكن أصول PHP كانت حقا لإعطائك هذه المرونة،
إذا كنت تريد أن بعض HTML مجرد كتابة ذلك، وهذا سوف يكون
بصق مماثل إلى المستعرض.
ولكن إذا كنت بحاجة الى بعض تقنية البرمجة،
بعض التعليمات البرمجية البرمجة، يمكنك أيضا وضعه في ملف بالضبط نفس، كما سنرى قريبا.
هنا بلدي HTML.
لقد حصلت على عنوان هذا لFrosh الرسائل الفورية.
لقد حصلت على علامة الجسم الذي حصلت عليه بعض CSS لكل شيء مركز في الوسط،
ثم إلى هنا لدي الشكل الذي يبدو هو الذهاب الى تقدم
إلى ملف جديد يسمى register0.php، لذلك سنرى أنه في لحظة.
انها تستخدم طريقة تسمى آخر، ونحن سوف نعود إلى أيضا.
ثم لدي بعض المدخلات النموذج، اسم واحد يسمى، الذي هو نوع النص،
أحد الذين الاسم هو الكابتن، الذي هو نوع مربع،
وهذا، لم نر ذلك من قبل، ولكنه لا يفعل بالضبط ما يقول.
سوف تحصل على مربع الاختيار بدلا من مربع النص.
هنا لديك لأسفل زر الراديو، والتي هي واحدة من تلك الأزرار الدائرية
يمكن أن تختار إما هذا واحد أو واحدة ذلك.
>> لاحظت انها متعمدة أن أعطى كل من أزرار الراديو اسم الجنسين.
هذه هي الطريقة التي تحصل الاستبعاد المتبادل حيث يجب النقر فوق
إما هذا واحد أو واحدة ذلك، وبالضغط على الآخرين
من لم يقم بتحديد جهة أخرى، ولذلك عليك أن تعطيهم نفس الاسم
إذا كنت تريد لها أن تكون تبادلية من هذا القبيل.
ثم لبالمبنى المكون، وأنا لا أعتقد أننا قد رأيت هذا الموضوع حتى الآن، ولكن من قائمة حدد قائمة منسدلة.
العلامة لذلك هو تحديد.
كنت تعطي فوق القائمة المنسدلة اسم،
ثم لديك مجموعة كاملة من هذه الخيارات.
أول واحد، فقط لعلم الجمال، عبارة عن سلسلة فارغة.
أردت فقط القائمة المنسدلة لتكون فارغة بشكل افتراضي،
وبعد ذلك هناك آبلي، Canaday، غرايز، وهكذا دواليك.
وتلاحظ الانقسام هنا.
الخيار في انخفاض قيمة لها أسفل،
ولكن بعد ذلك له اسم الإنسان والعائلات، والتي في هذا المثال
مطابق، ولكن إذا كنا نريد حقا أن تكون لدينا الشرج يمكن أن
قيمة هذا المنسدلة فقط تكون مقطعة،
رمادية، ولكن يمكن أن نقول حقا أن غرايز قاعة يرى الإنسان في الواقع،
ولكن هذا ليس كل ما مثيرة للاهتمام، لذلك ظللت مجرد أنها بسيطة وجعلها متطابقة.
ثم إلى أسفل في قاع لدينا زر إرسال
الذي رأيناه من قبل، ولكن لاحظت أنه أعطى فقط كلمة مختلفة.
بدلا من البحث CS50 أعطيت تسمية "سجل".
>> والنتيجة النهائية هي هذه الصفحة هنا، ومرة ​​أخرى،
أين تحصل على هذه المقدمة ل؟
يحصل أحالته إلى بعض الملفات، وقيمة السمة العمل،
الذي كان register0.php.
دعونا نرى ما يحدث بالفعل هنا.
اسمحوا لي أن تمضي قدما وملء هذا النموذج، يقول ديفيد،
ذكر، ماتيوس، ومن ثم سوف أقول تسجيل.
اسمحوا لي تصغير وانقر فوق تسجيل.
حسنا، ذلك النوع من غير مجدية، ولكن دعونا نرى ما يحدث في الواقع على.
تلاحظ أن تغير URL لتكون register0.php.
ما هو غائب من الغريب URL، على الرغم من تقدم على الرغم من أننا مجرد شكل؟
[رد الطالب غير مسموع]
حسنا، هذا مجرد كونها ودية كروم المستخدم في هذه الأيام.
هذا في الواقع هناك. يخفين فقط لتوفير مساحة.
ولكن الفكر جيدة، والفكر الرشيد.
نحو الطرف الآخر من URL، على الرغم من ما هو مفقود؟ نعم.
[طالب] سلسلة الاستعلام.
سلسلة الاستعلام، حتى أذكر أمثلة بسيطة من وجهة نظرنا البحث جوجل.
بمجرد أن تضغط على زر إرسال في URL
أخذني إلى Google، ولكن بعد ذلك كان هناك؟ س = علوم الكمبيوتر أو أيا كان كنت قد كتبته فيه.
هذا لأننا استخدام الأسلوب GET مع المثال البحث.
>> هذه المرة نحن نستخدم طريقة ما بدلا من ذلك؟
وظيفة، واحدة من وجوه التمييز المباشر
بين الحصول على وظيفة هو أن لا يضع آخر إدخال المستخدم في URL.
فإنه يخفي ذلك. يرسل تزال تفعل ذلك.
في الواقع، ما نراه في المتصفح هنا، ونحن سوف تكشف في لحظة
من خلال النظر في register0، وأنا مجرد رؤية محتويات
من الصفيف التي قدمت من المستعرض إلى ملقم.
لكن URL لا يملك؟، ليس لديها أي كلمات رئيسية
أو القيم في ذلك، والسبب هو أن؟
حسنا، آخر يسمح لك أن يقدم ما زالت البيانات من النموذج إلى الخادم،
لكنه لا يضعه في URL، لذلك أي نوع من المعلومات آخر
مناسبة بشكل خاص لربما عندما كنت طالبا للمستخدم
اكتب في المدخلات إلى شكل؟
شيء من هذا القبيل على كلمة السر، شيء من هذا القبيل ماذا؟
أرقام بطاقة الائتمان.
أي شيء أقل ما يقال الحساسة ربما كنت لا تريد أن ينتهي به الامر في URL
إذا فقط لأنه يعني أن الحجرة الخاصة بك أو أحد أفراد أسرته فقط من خلال القزم
تاريخكم الإنترنت ومن ثم نرى حرفيا كلمات السر الخاصة بك،
انظر حرفيا أرقام بطاقة الائتمان الخاصة بك لأن معظم المتصفحات
تذكر مهما في تاريخ عناوين المواقع كنت قد تم في،
إذا كان الأمر كذلك فقط لأن ذلك سيكون فكرة سيئة.
استخدام الجلود آخر أن التفاصيل من المستخدم.
>> أيضا، كيف يمكن تحميل صورة لالفيسبوك؟
حسنا، فقط 2 الآليات يمكنك استخدامها حقا،
على الرغم من أن هناك عدد قليل آخر من هم أكثر غامضة، هو الحصول على وظيفة.
كيف يمكنك تحميل صورة ربما عن طريق URL؟
يمكنك أن تفعل فعلا.
يمكنك أن تأخذ JPEG أو GIF أو نقطية ويمكنك تمثيلها في الست عشري
أو ما يسمى قاعدة 64.
بدلا من استخدام قاعدة 16 قاعدة 64، والتي تبدو مثل أساسا
يمكن أحرف ASCII، وقمت بتحميل صورة الواقع عبر URL
بعد علامة استفهام، ولكن هناك حدود حجم عموما.
معظم المتصفحات فرض عناوين URL ليكون هناك أكثر من 1،000 حرفا،
ربما 2000 حرفا أو ما شابه ذلك، لذلك لا يمكنك تحميل
و10 MB الفيسبوك الصورة.
لذلك كنت تستخدم آخر وكذلك، لذلك في الوقت الراهن الحصول على يضع المعلمات في URL،
التي هي لطيفة ومفيدة في بعض الأحيان، ولكن عن أي شيء حساسة أو كبيرة
آخر هو الطريق للذهاب.
ما register0 تفعل في الواقع هنا؟
حسنا، إذا كنت تفتح register0 لاحظ أن هذه هي صفحة بسيطة فائقة،
ولكنه يدل على حقيقة أن أستطيع أن شارك في الاختلاط، للأفضل أو للأسوأ،
HTML مع PHP.
هذا الملف بأكمله، باستثناء هذه التعليقات في القمة، هي HTML
باستثناء هذا الرجل هنا.
>> لاحظت في منتصف كود PHP بلدي،
في منتصف HTML بلدي، ولدي نوع من مؤقتا
دخلت PHP واسطة.
أنا استدعاء دالة خاصة تسمى الطباعة ص.
وهو ما يعني طباعة متكررة، وماذا يفعل هل هو يطبع بشكل متكرر
أيا كان المتغير الذي يسلم عليه، منقوطة، وضع المخرج PHP.
وقبل العلامة يعطيك ما قبل بتنسيق النص،
النص أحادية الفضاء بحيث كل المساحة التي ترى فعلا.
لا تختفي. ما هو آخر؟
حسنا، ما هو للاهتمام ومقنعة حول PHP
هو أنه كلما قمت بتقديم نموذج باستخدام GET أو POST
أي شيء هذا ما قدمت لك من قبل مستعرض
PHP نفسها الأرقام إلى ما هي تلك القيمة أزواج الرئيسية هي،
أرقام ما إذا كانت هناك علامات على قدم المساواة، وشخصيات ما إذا كان هناك علامة استفهام.
انها تفعل كل العمل الشاق بالنسبة لك، وبعد ذلك يسلم لك مجموعة النقابي
تحتوي على كل ما يمكن للمستخدم كتابتها في النموذج.
حسنا، ما لم حقول هذا النموذج على ذلك؟
>> وكان 4 مجالات.
كان واحدا حقل نص يسمى الاسم.
كان واحدا مربع اختيار دعا نقيب.
كان واحدا زر الراديو دعا الجنسين،
وكان واحدا من القائمة المنسدلة دعا النوم،
لاحظت ذلك عند طباعة متكرر
محتويات هذا المتغير خاص.
هذا هو متغير خاص يسمى العالمية $ _POST حرفيا، في كل مباراة دولية.
هذا هو متغير خاص العالمي الذي يخلق PHP فقط لأجلك
واليدين للك بحيث يمكنك الوصول إلى كل شيء
وقدم هذا النموذج عبر من قبل مستخدم.
وعن طريق استدعاء R الطباعة على ذلك، كنت لن تفعل ذلك في التطبيق العادي.
نحن نفعل ذلك لرؤية داخل هذا المتغير،
وما هو داخل منه، حسنا، 4 مفاتيح،
4 معلمات HTTP، إذا جاز التعبير،
اسم الكابتن والجنس والنوم، ومن ثم القيم التي المستخدم
كتبته في مع استثناء واحد.
فعلت نوع D-A-V-I-D.
راجعت مربع، على الرغم من ذكر ل، التي قدمت على ما يبدو قيمة
م لمجرد أن يكون موجزة.
>> عندما اخترت هذا ماثيوز القيمة التي حصلت المحدد،
وهذا هو واحد غبي قليلا، ولكن من الاتفاقية.
عندما راجعت مربع، قيمة على "على" حصلت على المقدمة للمربع.
إذا لم أكن قد تأكدت منه، لكان قد تم إرسالها لا قيمة على الإطلاق.
هذا هو مجرد إعطاء لنا نظرة ثاقبة ما هو داخل هذا المتغير العالمي خاصة،
وانها خاصة بحيث انه دعا متغير السوبر العالمية.
كان موجودا في كل مكان لك ضمن التعليمات البرمجية بحيث يمكنك الوصول فعلا.
هذه ليست مقنعة أن، لذلك دعونا فعلا استخدام السوبر العالمية
والواقع محاولة لتسجيل شخص ما.
في froshims1 انا ذاهب الى جعل تغيير واحد.
أنا تغيير العمل ليكون register1.php،
وأنا أفعل شيء آخر.
الأول هو نوع من يشعر بالحرج من نوعية صفحتي هناك.
انها جميلة البشعة، وبصراحة، لذلك تبين
التي يمكنك استخدامها بسهولة جدا على شبكة الإنترنت
الآخرين شفرة جافا سكريبت، CSS الآخرين
أنها قد كتبت ومصادر المفتوحة والمتاحة في شكل مكتبة،
إذا جاز التعبير، وعلى سبيل المثال، وهنا أنا باستخدام مكتبة متاحة بحرية،
مجموعة من التعليمات البرمجية التي كتب شخص آخر.
>> حدث تويتر لكتابة هذا الرمز، وهذا يدعى مكتبة ألبس الحذاء،
وانها مجرد حفنة من أوراق الأنماط CSS، مجموعة من ملفات CSS
أن شخصا ما كتب آخر، وترد على كيفية الحصول على كل شيء لطيفة وجميلة
بحيث يمكن للناس مثلنا تقلق أقل قليلا عن الجماليات والتركيز أكثر من ذلك بكثير
على المنطق والبرمجة الفعلية.
من خلال ربطه مع أن العلامة في، والذي هو علامة نفسه كنت تذكر لstyles3.css في وقت سابق،
لدي الآن الوصول إلى ملف يسمى bootstrap.min.css.
دقيقة فقط يعني انهم مصغر ذلك وأنها قد حصلت على التخلص من جميع البيض الفضاء وهكذا دواليك
فقط للتأكد من انهم لا ترسل لي أكثر مما كنت بايت تحتاج بالفعل.
ولكن في وجود مجموعة كاملة من CSS، حتى لو كنت الآن فتح النسخة 1 من الرسائل الفورية Frosh
تلاحظ أن الملف الخاص بي هو أجمل بالتأكيد.
الآن ما زال الأسود والأبيض فقط، ولكن لاحظت أن مجرد ورقة باستخدام أسلوبهم
واستخدام خصائص معينة منه على شكل بي انها ليست مذهلة،
لكنها بالتأكيد أنظف مما كان عليه من قبل، وجهاز العرض لا تفعل ذلك العدالة.
هناك خطوط رمادية قليلا حول أزرار وحول حقل النص هنا،
لكنها بالتأكيد أنظف مما كان عليه من قبل.
>> الآن، إحقاقا للحق، وقد فعلت لتغيير العلامات بلدي قليلا.
هذا هو الإصدار 1، وتلاحظ أن كنت تستخدم لبه عدد قليل جديدة،
وبصراحة، لم يكن لدي أي فكرة عن كيفية القيام بذلك حتى قرأت وثائق
لمكتبة التمهيد تويتر، وقالوا لي إذا كنت ترغب في استخدام مكتبتنا
استخدام عنصر fieldset داخل النموذج الخاص بك،
وضع الكلمة التي تريد أن تظهر بجوار داخل ميدان علامة التسمية،
ثم إعطاء رأيك اسما، تماما مثل من قبل،
ثم لمربع الاختيار، وليس فقط هل التفاف عليه في عنصر التسمية،
استخدام ما يسمى فئة، لذلك نحن لم نر هذا من قبل،
ولكن سترى هذا في واحد من السراويل pset 7 ل.
فئة في CSS يتيح لك القيام بشيء مماثل جدا لID،
ولكن قبل عندما كان لدينا ID مع رمز #
كان لأحد أن عنصر واحد فقط.
ما هو لطيفة عن فئة هو أن عناصر متعددة يمكن أن يكون لها نفس الفئة
أو تطبيق نفس الاشياء CSS إليها.
>> ولكن مرة أخرى، وأكثر على تلك في القصير، وبقية هذا هو مجرد نسخ ولصق
من وثائقها حيث كنت قد أضفت تسمية هنا وهناك.
وفي النهاية، لأن لقد تضمنت العلامة الرابط في الأعلى،
كل شيء يبدو أجمل تلقائيا
ببساطة عن طريق وضع علامة بعد أن تصل صفحتي بطريقة
تويتر هو متوقع، وهناك العديد من الطرق المختلفة
للقيام بذلك، وهذا هو في الواقع مناسبة جدا.
في هذه المرحلة في الفصل الدراسي، كما سترى في المواصفات pset 7 ل،
غوغلينغ حولها، والقراءة على المكتبات، وذلك باستخدام CSS الآخرين
وجافا سكريبت لحل المشاكل الإضافية
إلى مجموعة المشكلة وتشجع نفسها وبالتأكيد هي الطريقة
تم بناء شبكة الإنترنت في هذه الأيام، من خلال الوقوف على أكتاف الآخرين
بحيث يمكنك التركيز حقا على مشاكل جديدة ومثيرة للاهتمام.
ولكن دعونا نركز الآن فصاعدا، مرة أخرى، المنطق.
>> كان ذلك التفاف سريعة على الجماليات فقط لتظهر لك الاتجاه الذي يمكنك الذهاب.
أنا ذاهب إلى العودة مرة أخرى إلى أقبح واحدة للمجرد الآن
ليس هناك الانحرافات مع الاشياء تويتر، واسمحوا لي أن تمضي قدما وفتح
froshims2، والتي، مرة أخرى، يختلف فقط في register2.php، والعمل،
ودعونا نلقي نظرة على ما هو تأثير هنا.
اسمحوا لي أن تمضي قدما واكتب في ديفيد.
لن أكون كابتن هذا الوقت.
أنا أقول ذكر، ماتيوس، السجل.
اللعنة. حسنا، هذا هو المسمار من جانبي.
الوقوف إلى جانب.
Register2، السطر 22، إذا فارغة أو عذرا.
دعونا إعادة تحميل.
حسنا، عند تقديم هذا النموذج ما حدث للتو؟
راجعت كتبته في ديفيد، ذكر، النقر ماثيوز، السجل.
كنت مسجلا. (حسنا، لا حقا.)
ومن الواضح أن هذا خطوة أبعد الطباعة للتو بعض محتويات متغير،
ولكن ما هو هذا الملف به في الواقع؟
في register2.php
تلاحظ أن لدي بعض التعليمات البرمجية الجديدة.
داخل العلامة جسدي لدي أساسا والا اذا بناء،
ولكن لأنني اختلاط مع بعض هذه HTML
ولا بد لي من الدخول والخروج من وضع PHP ذهابا وإيابا، لذلك دعونا نرى ما أقوم به.
>> في السطر الأول هنا أنا أقول إذا كان هذا هو الحال
أن السوبر آخر العالمي فارغة للمفتاح من اسم،
لذلك وبعبارة أخرى، إذا لم يكن المستخدم تعطيني قيمة الاسم في النموذج،
ثم فارغة هو الذهاب الى العودة الحقيقية لأن القيمة فارغة.
أو، لاحظ القضبان العمودية، إذا الجنسين فارغة
داخل هذا السوبر العالمية الخاصة، والتي، مرة أخرى، يمثل محتويات النموذج،
أو النوم فارغة، ثم انا ذاهب الى المضي قدما ويصيح في المستخدم.
كيف؟ كذلك، لاحظ انا ذاهب الى القول يجب توفير اسمك والجنس والنوم و.
دعونا لحث على الواقع في هذا الخطأ.
اسمحوا لي أن أعود إلى بلدي النموذج. اسمحوا لي أن تحميل لمسحها.
وانا ذاهب فقط لمنحهم ديفيد، وأنها لا تحتاج أن تعرف أين أعيش.
تسجيل. يبدو أنني بحاجة لنقول لهم حيث أعيش.
يجب توفير اسمك ونوع الجنس والنوم. العودة.
>> ويمكن أن فوقه للانتقال إلى هذا الشكل، ولكن لماذا؟
حسنا، في هذه الحالة لم يكن اسم فارغة، ولكن كان نوع الجنس، وكان المبنى المكون،
لذلك هذا التعبير كله تقييمه إلى TRUE، وعلى الرغم من أن بناء الجملة جديد يذكر،
مرة أخرى، ونحن ندخل PHP واسطة، إذا مألوفة البيان،
ولكن الجزء الجديد هنا هو فقط هذا القولون، وكنت قد ثمل، بحذف قوس
عن طريق الصدفة، ولكن لاحظت القولون، ويعني أن
على الرغم من أننا الخروج PHP كل شيء وضع
يتبع ينبغي أن بصق الحرفية إلى المستعرض
حتى ترى كتلة آخر، كما نفعل هنا،
وفي هذه الحالة يجب أن يبصق بدلا من ذلك
حتى ترى ENDIF، وحتى بعض الجملة قليلا جديدة
أن يسمح لي للتبديل بين HTML و PHP.
يمكننا بتنظيف هذا في نهاية المطاف، ولكن في الوقت الراهن،
انها نوع من وسيلة مقنعة لتدقيق الأخطاء النموذج.
>> الآن، أقول كنت حقا أنت غير مسجل لأنه من الواضح اننا لم نرتكب أي ولكن البيانات،
لذلك دعونا نحاول أن نفعل شيئا في الواقع بارد.
في froshims3 والفرق الوحيد هو أنني ذاهب إلى أن تقدم إلى register3،
وبالتالي فإن هناك HTML هو نفسه.
في register3 تلاحظ هذا.
هذا واحد هو نوع من مثير.
في الجزء العلوي أنا باستخدام عبارة مطلوب، لذلك هذا هو مثل تضمين #.
هذه المرة انها ليست stdio.h أو أي شيء من هذا القبيل.
انها مكتبة PHP، ويسمى هذا واحد PHPMailer.
كيف أعرف على وجه التحديد ليشمل هذه السلسلة نقلت؟
قرأته في وثائق، وذلك عندما قالوا لي وضع هذا في الجزء العلوي من الملف
إذا كنت ترغب في استخدام مكتبة خاصة تسمى PHPMailer أن تفعل ما تقول.
انها تسمح لك لإرسال البريد الإلكتروني عبر PHP.
الآن دعونا بالتمرير أخرى.
>> تلاحظ أن يبدأ أنا في وضع PHP هذا طوال الوقت،
لذلك تلاحظ الآن إلى هنا بعد استيراد تلك المكتبة،
إذا جاز التعبير، أنا أفعل بعض الشيكات التعقل.
إذا كان هذا هو الحال هذا الاسم ليس فارغا
والمساواة بين الجنسين ليست خالية تلاحظ نقاط التعجب
والنوم ليس فارغا، ثم قد ملأت المستخدم منطقيا النموذج، على الأقل بما يكفي.
لا يهمني اذا كانا لا يزالان الكابتن أم لا. أنا فقط بحاجة اسمهم والجنس والنوم و.
إذا كانوا قد ملأت تلك من ذلك أن أيا من هذه الحقول فارغة
هذا هو قليلا بناء الجملة الجديد.
PHP، بوصفها جانبا، هو كائن لغة البرمجة الموجهة
التي قد يكون بعض من يا رفاق أذكر من ناقلات الجنود المدرعة أو ما شابه ذلك.
في الوقت الراهن، إذا غير مألوفة، نعرف فقط أنه لاستخدام هذه المكتبة
لديك لكتابة سطر من التعليمات البرمجية مثل هذا باستخدام كلمة رئيسية جديدة،
دعا حرفيا كلمة رئيسية جديدة.
ولكن أبعد من ذلك، لدينا بعض بناء جملة مألوفة.
انها عامل سهم، وهو ما يماثل ما كنا لالبنيات في سياق المؤشرات.
PHP لهذا اليوم ليس لديها مؤشرات،
ولكن نعرف الآن أن لداخل المتغير الإلكتروني
هو نوع من مؤشر أساسا إلى مكتبة خاصة
أن كتب شخص آخر، وإذا أريد للوصول إلى الوظائف المحددة
داخل تلك المكتبة كنني، كما هو الحال في C، استخدم عامل سهم،
على الرغم من هذه المؤشرات ليست في الواقع.
انها نوع من إصدار PHP الخاصة بها.
هذا يعني الخوض في المكتبة واستدعاء الدالة IsSMTP.
SMTP، نذكر، من ووريورز لدينا من صافي يشير إلى البريد الإلكتروني،
وهذا يعني فقط استخدام ملقم البريد الإلكتروني لتسجيل هذه الرسائل الفورية Frosh.
>> ما أريد المضيفة للاستخدام؟
حسنا، هارفارد، إذا كنت جوجل حولها، ويحتوي على خادم البريد الإلكتروني ودعا smtp.fas.harvard.edu.
إذا كنت تلعب على طول في المنزل أو كنت تعيش على شبكة كومكاست
قد يكون شيء من هذا القبيل smtp.comcast.net.
ذلك يعتمد كليا على المكان الذي تعيش فيه والذي ISP الخاص بك.
بعد ذلك أنا ذاهب لمجموعتي من عنوان تعسفا أن يكون jharvard@cs50.net.
أنا ذاهب ثم لتعيين لمعالجة لتكون jharvard@cs50.net.
السبيل الوحيد كنت أعرف أن كانت تسمى هذه الوظائف SetFrom وAddAddress
هو، مرة أخرى، وأنا أقرأ الوثائق.
هذا ليس نوعا من المعروف سحرية لجميع المبرمجين.
ثم تعيين لي تخضع ل"التسجيل".
والآن هذا الخط قليلا القبيح لأن ما لا يعني المشغل نقطة في PHP؟
أحد يعرف؟
سلسلة.
في C وهو ألم في الرقبة لسلسلة سلاسل 2 معا.
لديك للتعامل مع malloc أو realloc أو كل تلك الأشياء
فقط لتمديد طول السلسلة.
في PHP، في جافا سكريبت وغيرها من اللغات
يمكنك أن تفعل هذا عادة مع حرف واحد.
في هذه الحالة، يعني نقطة اتخاذ هذه السلسلة هنا
وإلحاق إليه هذه السلسلة.
>> أوه، وبالمناسبة، إلحاق إليه هذه السلسلة،
والذي يحدث أن تكون داخل متغير من هذا السوبر العالمية.
ثم إلحاق إليها سطر جديد، لذلك كل من هذه النقاط يعني فقط
إبقاء جعل سلسلة أكبر وأكبر وأكبر،
ولم يكن لديك لرعاية على الإطلاق عن malloc أو ما شابه في لغة من هذا القبيل،
وهناك طرق أخرى للقيام بذلك، ولكن هذا هو واحد من أسرع
طرق لوضع ذلك.
ما هو هذا العمل؟
انها إنشاء هيئة البريد الإلكتروني الذي يحدث أن أقول الاسم: الكابتن: الجنس: المسكن:
كل شيء على أسطر منفصلة، ​​ثم أخيرا،
سطر واحد من التعليمات البرمجية، وانا ذاهب الى تجاهل هذا في الوقت الراهن.
إذا == كاذبة يعني فقط إذا حدث خطأ ما،
لكن السحر يحدث هنا.
إرسال بريد إرسال يعني هذا البريد الإلكتروني.
دعونا نرى ما هي النتيجة الصافية هي.
في الجزء السفلي من الملف، لاحظ انه سيكون ليقول كنت مسجلا فعلا
إذا كنت تصل لهذا الحد.
إذا، على الرغم من المستخدم مسامير، لاحظ أن بدأنا هذا
اذا كان الشرط هنا، إذا لم يكن فارغا وخاليا لا
وليس تفريغ نرسل البريد.
وإلا فإننا ذاهبون لإرسال هذا السطر من التعليمات البرمجية،
التي سوف يكون لها الأثر، كما سترى في pset 7 من إعادة توجيه المستخدم
عودة إلى froshims3.php، حيث أتوا.
>> عبرت الأصابع، وإلا هذه ستكون مخيبة للآمال التجريبي معظم اليوم.
هنا نذهب.
اسمحوا لي أن فتح البريد الوارد البريد الإلكتروني الخاص بي لjharvard في Gmail.
لا البريد الإلكتروني في الوقت الحالي. حسنا.
والآن اسمحوا لي فتح froshims3، والذي هو المثال الثالث والأخير سوف نبحث في هنا.
حسنا، هنا نذهب.
نيت، وانه سوف يكون قائد الفريق، ذكر، من، يقول، آبلي.
تسجيل. حسنا، كنت مسجلا حقا.
إذا أنا الآن انتقل الى بريدي الالكتروني، أوه، يا إلهي.
لقد أرسلت فقط حيوي بريد الكتروني على شبكة الانترنت.
>> ولنترك على تلك المذكرة.
A الفيديو وشيكة لمحاضرة فاتنا. نراكم في الأسبوع القادم.
[CS50.TV]