DOUG لويد: في بعض الأحيان عندما نقوم البرمجة نحن نفعل أشياء حتى عادة، لذلك في كثير من الأحيان، والكثير من الناس تفعل الشيء نفسه idea-- أو نفس شيء، وأنه له اسم. MVC هو بالضبط واحد شيء من هذا القبيل. انه دعا نموذج البرمجة. انها نوع من مثل أفضل الممارسات التي تم المقطر أسفل الناس تحاول أن تفعل شيئا. في هذه الحالة، تنفيذ نظام الصفحات أن يتفاعل المستخدم مع على موقع على شبكة الانترنت أكثر تعقيدا. وانها فعلت ذلك عادة أن من المستحسن كمعيار أن الآخرين قد ترغب في متابعة، وهناك مجموعة محددة جدا من الطرق يمكن للمرء أن تتبع هذا النموذج. لذلك، MVC هو النموذج، والسبب نستخدمها هي تفاصيل مجردة بعيدا من المستخدم. بعض الأشياء المستخدم لا حقا بحاجة الى ان نرى. انهم لا يريدون سوى أن يكون تجربة جيدة للمستخدم، ونحن لسنا بحاجة إلى أن يكون لهم الوصول إلى كل ملف واحد موجود على خادم الويب لدينا، ربما. قد يكون هناك بعض الملفات التي ليست سوى تستخدم لتعزيز تجربة المستخدم، وحتى نتمكن من تلك مجردة بعيدا. يمكننا أن نوعا من إخفائها ذلك لا يمكن للمستخدم العمل معهم، ولكن لدينا pages-- pages-- لدينا معرفة كيفية التعامل معها وندعو لهم أو ربما تتطلب، يريد لهم، أو شيء من هذا القبيل. الدافع الأساسي لMVC هو أمن البيانات، لأن MVC عادة ما تأتي في سياق العمل مع قواعد البيانات. ونحن بالتحديد تريد منع المستخدمين من قواعد البيانات التي تؤثر مباشرة. نحن فقط نريد أن نفعل ذلك بطريقة غير مباشرة، من خلال الترشيح لدينا. أو التأكد من أن كل شيء موافق من قبل لنا القيام قليلا من التحقق من الخطأ أو التدقيق السلامة قبل أن إرسالها إلى قاعدة البيانات، حيث أشياء يمكن ان تذهب الخطأ، وربما الخطأ حقا، إذا نحن لسنا حريصين. حتى MVC لتقف على نموذج عرض المراقب المالي. ماذا يعني كل من هذه؟ في الأساس، هو نموذج قاعدة البيانات الخاصة بك. فمن حيث كل البيانات الهامة لموقع الويب الخاص بك أسماء lives--، تسجيلات الدخول وكلمات السر. ويمكنك تحديثه، الرجوع إليه، تقريبا كل شيء من هذا القبيل. وكنت الاستعلام عن قاعدة بيانات، وكنت أسأل المعلومات من قاعدة البيانات. هذا هو model-- جميع البيانات حيث يعيش موقعك. وجهة نظر هو نوع من مثل تجربة المستخدم. انها الصفحات التي نرى بعد طلبوا من المعلومات. ولذلك ربما يكون ما تقدمه information-- تسجيل الدخول الخاصة بهم الذي سيفعلونه في وحدة تحكم، التي سنتحدث عنها في الثانية. ربما ما تقدمه لهم معلومات تسجيل الدخول، ويتم الاستعلام من قاعدة البيانات. وطلب المعلومات و سحبت من قاعدة البيانات. ثم مرة واحدة للمستخدم تسجيل في، ويرون الصفحة طنهم. وهذا الرأي، OK؟ ثم وحدة تحكم هو ما دعا منطق الأعمال من موقعك. ومنطق العمل هو واحدة من تلك المصطلحات التي هو نوع من واهن washy-- تحب، ماذا يعني منطق الأعمال؟ في الأساس عملك المنطق هو PHP الخاصة بك. لا يحتاج المستخدم الخاص بك رؤية مباشرة PHP الخاصة بك، ولكن PHP الخاص بك هو على الأرجح ما يجري إلى أن تقديم طلبات إلى قاعدة البيانات. وبالتالي فإن إرادة إدخال المستخدم المعلومات في الرأي، التي سوف تدمج وحدة تحكم. مثل، وأنها سوف اكتب في نموذج. كيف أن عمليات شكل المعلومات هي وحدة تحكم. هذا هو PHP وهذا في الواقع مما يجعل الطلب على النموذج. ثم يعطي نموذج المعلومات إلى الرأي، وهو ما يعطيها للمستخدم، ربما كان أفضل تصور على النحو التالي. لذلك نحن هنا. وهنا لنا على اليسار، ولدينا نموذج عرض المراقب ترتيب النموذج. كيف تعمل؟ وus-- user-- يجعل طلب إلى وحدة تحكم. نحن تقديم المعلومات مثل عن طريق نموذج HTTP. وبناء على ذلك، وحدة التحكم العمل هو للتأكد من أن ما قام المستخدم نظرا ليست شيء من شأنه أن يضر هذا النموذج. وهكذا وحدة تحكم يذهب ل تأكد من أن كل شيء على ما يرام. انها سوف ننظر بعناية فائقة. إذا كان هناك أي أخطاء، وأنها سوف تتوقف الأمور لذلك لا يمكن للمستخدم الحصول على النموذج. ولكن على افتراض كل شيء على ما OK وانها استعلام صالح، وحدة تحكم الاستعلام model-- انها سوف يطلب منها تقديم معلومات. فإن نموذج ينص على أن معلومات إلى صفحة هذا الرأي، انها سوف تحيل إلى أن الطريق، وبعد ذلك عرض سيتم ملء المعلومات طلبت من الطراز. لذلك، على سبيل المثال، إذا كنا نتحدث حول تسجيل الدخول إلى صفحة الفيسبوك الخاص بك، على سبيل المثال. ان الرأي أن تكون البيانات التي خرجت من النموذج الذي يشير إلى أصدقائك والأخبار إطعام أو أشياء من هذا القبيل، أليس كذلك؟ ولكنك لن ترى شخص آخر. تريد ان تكون getting-- ذلك قمت بتقديم استعلام، عليك تسجيل الدخول لعذر model-- لي، عليك تسجيل الدخول إلى الصفحة. الاستخدامات تحكم معلومات تسجيل الدخول لتقديم طلب على النموذج لجعل تأكد من أنك أنت الذي تقول انك. النموذج مثل، OK، نعم، أنت الذي تقوله أنت، لذلك اسمحوا لي أن أقدم لكم تغذية الأخبار. سأعطيك البيانات الخام ل تغذية الأخبار إلى العرض، ثم عرض يجعل من جميلة، يعالج بطريقة أننا معتادون على، عرض تلك المعلومات إلى المستخدم. لاحظ هذا الصدد لا الموجودة على هذا المخطط. ليس هناك اتصال مباشر بينك وبين هذا النموذج. هناك دائما هذا المخزن المؤقت لل وحدة تحكم على الجانب المدخلات، وهناك منطقة عازلة لل عرض على الجانب الانتاج. ربما كنت جيدة شخص، وذلك ربما كنت لن تفعل أي ضرر لل نموذج، ولكن ربما كنت لا. أو ربما هناك شخص ما ل المتطفلين الذين سوف ربما تريد أن تلف قاعدة البيانات الخاصة بك، وربما حذف كل شيء من قاعدة البيانات الخاصة بك، التي يمكن أن تكون مكلفة للغاية. من الواضح، is-- البيانات التي لديها المستعمل هناك قيمة إلى وجود بيانات المستخدم. وحتى إذا لم نضع هذا المخزن المؤقت منطقة بين المستخدم وdatabase-- المستخدم والأشياء model-- قد لا تسير على ما يرام بالنسبة لنا. ولذا فمن المهم ل يكون هذا النموذج حيث يمكن للمستخدم التفاعل مع قاعدة البيانات، بالتأكيد، ولكن لديهم للذهاب من خلالنا للقيام بذلك. وهذا هو الأساس الفكرة مع MVC. انها محاولة لتنفيذ أمن البيانات. انها محاولة لحماية نموذج من غير قصد أو غير قصد المستخدمين المؤذيين. ذلك ما يحدث عندما نطبق هذا النموذج؟ حسنا، نحن فصل البيانات المطلوب من website-- لدينا وmodel-- من المنطق التي تطبق لدينا موقع على شبكة الانترنت functionality-- وcontroller-- و من جماليات بسيطة والصفحة القوالب التي تتكون لدينا المستخدم experience-- طريقة العرض. ماذا يعني هذا؟ كذلك، فهذا يعني أنك يمكن أن تجعل وتعتبر مرئية للمستخدم. يمكنك إخفاء النموذج بعيدا. وcontrollers-- المستخدم لا يمكن ربما التلاعب مباشرة. انهم لا يحتاجون للوصول إلى رمز PHP الخاصة بك. انهم بحاجة فقط لرؤية شكل حيث يمكنك كتابة الاشياء في. ولذلك ربما يكون النموذج وجهة نظر، وحدة تحكم هو PHP أن يقدم النموذج ل، و تحكم يجعل استعلام للنموذج، نموذج يعطي مزيد من المعلومات إلى وجهة نظر مختلفة أن يعرض المعلومات لك. ويمكن للبرامج الخاصة بك الوصول كل منطق الأعمال الخاصة بك، ولكن المستخدمين لا يستطيعون مباشرة الوصول إلى منطق عملك. واحد بشكل خاص، ربما، التوضيح المرئي من هذا وكنت قد تلقيت أي وقت مضى 403 خطأ المحرمة. هل سبق لك أن ذهبت إلى شبكة الإنترنت الصفحة 403 وينظر المحرمة؟ انها نوع من مثل 404 لم يتم العثور على. 403 المحرمة يعني أنك حاولت الوصول الصفحة التي لم يكن لديك الوصول إليها. ولعل هذا الموقع باستخدام MVC الفصل لإخفاء بعيدا المنطق أعمالها التي يجب أن تكون موجودة على الخادم من أجل لصفحة في العمل، ولكن لا أريدك أن الوصول إليه مباشرة. لذلك قد تحصل على خطأ الممنوع 403. وأنه لن يهم حتى إذا كنت مسجلا. يمكن أي مستخدم لمس هذا الملف PHP نقطة. ويمكن أن تلمس فقط هذا واحد، وهذا احدا-- واحد التي يمكن أن touch-- ربما يمكن أن تتفاعل مع ملف مؤمن إلى أسفل بصورة غير مباشرة من قبل المستخدم. لذلك، ونحن نرى في بعض الأحيان هذه الأذونات خطأ، وهذا 403 محظور. كيف يمكننا تغيير أذونات ذلك أن الأمور يمكن أو لا يمكن أن ينظر إليها؟ عندما نفعل ذلك عادة هو استخدام دعا الأمر لينكس chmod-- C-H-وزارة الدفاع. للقيام بذلك، والشكل هو جميلة simple-- شمود أذونات، ومهما كان الملف الذي تريد لتطبيق هذا التغيير على. لذلك، ربما كنت ترى شيئا مثل this-- شمود 600 helpers.php. أو ربما كنت انظر this-- شمود وX زائد يتضمن الدليل. ويعني هذا على الرغم من؟ لذلك، هناك طريقتين مختلفتين أن الأذونات وعادة ما تكون تطبيق باستخدام شمود. ويسمى أول ل ثماني طريقة الأرقام. وهذا ينطبق عادة أذونات إلى ثلاث فئات مختلفة من المستخدمين في نفس الوقت. أن تطبيق التصريح بذلك ملف 711 يسمح لك الحق في القراءة والكتابة، وتنفيذ الملف الخاص بك، من شأنها أن تسمح بالآخرين على وجه التحديد مجموعتك وworld-- فقط لتنفيذ الملف. هذا ما يترجم إلى ذلك. الرقم الأول هناك هو ما يمكنك القيام به، الرقم الثاني هو ماذا يمكن أن تفعل مجموعتك، والثالث هو ما يمكن أن يفعله العالم. أي شخص لزيارتكم الصفحة، وهذا العالم. ما هي هذه الأرقام في الواقع تترجم إلى على الرغم من؟ لذلك فان هذه ترجمة الأساس من هذا القبيل. إذا كان الإذن الصفر، لا شيء يمكن أن يحدث. اذا كان واحد، يمكنك تنفيذ الملف-- اذا كان هذا إذنك. لو كان اثنين، يمكنك إرسال الملف ولكنك لا تستطيع أن تفعل أي شيء آخر. اذا كان الثلاثة، كنت يمكن كتابة وتنفيذ. وهلم جرا، كما ترون. وسبعة يعني أنك تستطيع أن تفعل كل شيء. فلماذا هذه تسمى الأرقام ثماني؟ حسنا، إذا كنت تفكر في ذلك، هنا مثل اللاءات والنعم، وإذا كنا نعتقد عنهم كما مربعات حمراء وخضراء، ربما هذا يجعل من أكثر وضوحا قليلا. ولكن إذا كنا نفكر في تلك مربعات حمراء كما الأصفار وصناديق خضراء كما هم، هذه هي في الواقع مجرد مجموعات من الأرقام الثنائية، أليس كذلك؟ 000 يترجم إلى عشري 0؛ 001، العشري 1؛ 010 غير عشري 2، وهلم جرا. ولذا فإننا ندعو هذه ثماني أرقام لأن هناك هي ثمانية احتمالات مختلفة. هناك ثمانية ارقام مختلفة إذا نحن نتحدث عن ثلاثة بت من information-- بت قراءة والكتابة قليلا، وتنفيذ بعض الشيء. وحتى الآن يمكنك التحدث ثنائي، عشري، عشري، وثماني. حتى تعرف كيفية التواصل مع أجهزة الكمبيوتر في أربعة عدد مختلف نظم، لذلك هذا رائع. لذلك، إلى جانب ثماني مخطط إذن، هناك أيضا إذن رمزي المخطط، الذي يختلف قليلا وعادة ما يتم استخدام أفضل السبل لتطبيق أو إزالة إذن في جميع المجالات. حتى شمود علامة X ملف زائد أن أضيف الحق لتنفيذ لكل ثلاثة فئات users-- نفسك، مجموعتك، والعالم. بالإضافة إلى ذلك هو الجزء مضيفا. الحق في تنفيذ، وهذا هو س. والواقع أنه ينطبق على جميع هناك ثلاثة مجموعات من المستخدمين أن يكون ل. حتى this-- على x-- زائد هو على الارجح أن يكون بالضبط نفس شمود 711 ملف، لأنه إذا كنت أعود و إلقاء نظرة على مخطط رقم ثماني، منها والسبعات تعطينا الحق في تنفيذ ملف. لذلك هذا هو على الارجح واحدة. ويمكنك استخدام هذا الدليل المرجعي للما الأشياء المختلفة في رمزي هيكل CHMOD جي هي. البنود الخضراء هنا سيكون حيث كل سبيل المثال اللون الأخضر كان قبل ثانية واحدة. ان يكون الأزرق الأزرق. ان يكون البرتقال البرتقال. حتى تتمكن من تطبيق الأمور إلى حسابك مجموعة، للآخرين، للمستخدم، أو إلى الجميع. يمكنك ان تعطي لهم قراءة، الكتابة، وتنفيذ الوصول، ويمكنك إضافة أو إزالة أو تعيين بالضبط مجموعة من الأذونات باستخدام هذا النموذج. كيف نتحقق ما مخطط إذن الملف هو؟ قبل أن نغير ذلك، انها ربما من الجيد أن نعرف فعلا ما هي أذونات الملف. طريقة واحدة للقيام بذلك هي لتشغيل ليرة سورية ولكن مجرد قرص عليه قليلا. حتى لو كنت اكتب ليرة سورية داش l-- هذا هو صغيرة l-- ربما سوف نرى شيئا من هذا القبيل. يبدو خفي قليلا، ولكن الجزء أننا نكترث هي الاشياء على اليسار هناك. الذي يحدد فعلا مخطط إذن الملف. ويمكنك أن أقول ربما لأنه حصلت آر، ث، وو في العاشر تتخللها. تلك three-- أولا تجاهل الأول للمرة الثانية، والتي سنقوم بمضاعفة إلى. تلك الثلاثة الأولى بعد وfirst-- حتى الثانية، ثالثا، وشخصيات الرابعة هذه السلسلة 10 حرف هي الأذونات التي لديك. لذلك يبدو أستطيع أن أقرأ، الكتابة، وتنفيذ PHP. أستطيع القراءة والكتابة، و تنفيذ PHP WEBDEV، وأستطيع أن القراءة والكتابة test.php. يمكن مجموعتي القيام بذلك. لذلك على ما يبدو مع PHP والدلائل PHP WEBDEV، يمكن مجموعتي الكتابة لهم ولكن أي شيء آخر. والعالم لا تستطيع أن تفعل أي شيء. لذلك فان هذه الملفات ليست متاحة للجمهور وإذا حاولت أن الوصول إليها وأنا لم يكن ادارة اباتشي لجعلها في متناول، ثم أود أن أحصل على الخطأ 403. انه فشل. حاولت الوصول إلى الملف ولكن أنا ليس لديك أذونات للقيام بذلك. وما هو الحرف الأول؟ حسنا، ربما يمكنك استقراء هنا ان دي الصورة تشير إلى الدلائل واندفاعة يشير إلى ما يسمى ب "الملفات العادية." وربما كنت قد رأيت هذا عندما قمت حاول إزالة ملف باستخدام RM. كنت قد رأيت الرسالة خفي "إزالة ملف عادي" - في هذه الحالة، انها تريد ان تكون test.php. ملف العادية هو مجرد شيء هذا ليس دليلا. هناك اثنين آخرين هنا، ولكن عموما كنت الذهاب لرؤية الصورة دي الدلائل ولا شيء للعنصر الأول. ولكن هذا هو حقا كل ما في الامر. يمكنك التحقق من ملف الأذونات باستخدام يرة سورية اندفاعة لتر، يمكنك تغييرها باستخدام شمود. وبطبيعة الحال، استخدم these-- تغيير الأذونات لتطبيق هذا النموذج MVC ل حماية البيانات الموجودة على موقع الويب الخاص بك وعدم السماح للمستخدمين للوصول إلى كل شيء، ولكن فقط الاشياء التي يحتاجون إليها للوصول من أجل صفحتك للعمل بالطريقة التي تريدها أن تعمل. أنا دوغ ويد. هذا هو CS50.