[سیمینار] [Kohana: ایک ہلکا پھلکا پی ایچ پی کی فریم ورک] [برینڈن لیو] [ہارورڈ یونیورسٹی] [یہ CS50 ہے.] [CS50.TV] ہیلو سب. میرا نام برینڈن ہے. میں کالج کر کمپیوٹر سائنس میں یہاں ایک جونیئر ہوں، اور آج ہم کے بارے میں بات کرنے جا رہے ہیں ایک پی ایچ پی ویب کی ترقی کے فریم ورک ہے جو Kohana،. آج ایک لائیو کوڈنگ سیمینار جا رہا ہے، تو میں نے بنیادی طور پر، Kohana کیا ہے وضاحت 5-10 منٹ خرچ کرنے کے لئے جا رہا ہوں اور پھر میں نے لفظی ایک سپر آسان بلاگ تعمیر کرنے کے لئے جا رہا ہوں یہاں لفظی شروع سے آپ کے لئے. ہم، Kohana ویب سائٹ سے کوڈ ڈاؤن لوڈ، اتارنا کرنے کے لئے جا رہے ہیں اور، ہم نے ایک بلاگ کی تعمیر شروع کرنے جا رہے ہیں، اور امید ہے کہ یہ بہت شکنپرد ہو جائے گا آپ کو شاید شاید نظر آئے گا کیونکہ میں نے کچھ غلطیوں بنا دیں گے، اور آپ مجھے ان سے نمٹنے کے دیکھیں گے، میں اس بلاگ کے ذریعے کی تعمیر کے طور پر یا آپ کو میری سوچ کے عمل میں نظر آئے گا، اور اس دوران، آپ یہ بھی فریم ورک کے خود کے ساتھ واقف ہو جاؤ گے. امید ہے کہ یہ ایک بہت شکنپرد مشق ہو جائے گا. سب سے پہلے، ایک فریم ورک ہے بالکل کیا ہے؟ تم اتنی دور CS50 لے جا رہے ہیں تو، آپ کو واقعی کسی کے ساتھ کام نہیں کیا فریم ورک ابھی تک، اور بات یہ ہے. آپ شاید پہلے ہی 1 ویب کی ترقی pset کے کیا ہے اور آپ کی ویب سائٹ کی تعمیر اور عمارت کی ویب سائٹ کو برقرار رکھنے کے لئے جاری کہتے ہیں. آپ کو کچھ چیزیں محسوس کرنا شروع کر دیں گے. آپ محسوس کریں گے سب سے پہلی چیز آپ شاید ہی باتیں کر رہے ہیں بار بار ہر وقت، صارف کی ان پٹ کے اعداد و شمار کی صفائی کی طرح چیزوں کو، ایک خاص طریقے میں آپ کی فائلوں کو منظم کی طرح چیزوں کو. تم نے بھی شاید محسوس کریں گے دوسری بات یہ ہے کہ آپ کے کوڈ بہت، بہت گندا بننے کے لئے شروع کر سکتے ہیں، اور آپ کو گندا اسے چھوڑ اور صرف ایک بہت ہی مشکل وقت کو برقرار رکھنے کے کر سکتے ہیں، یا آپ کو آپ کوڈ کی ساخت شروع کرنے اور اس ماڈیولر بنانے کے کر سکتے ہیں یہ زیادہ قابل بنانے کے لئے بعض طریقوں سے. ویب فریم ورک کے بنیادی طور پر اندر آیا جہاں یہ ہے ویب سائٹس میں سے ایک بہت کچھ تعمیر کیا تھا جو ان لوگوں نے، انہوں نے کہا کہ، "ہم نے اس ہم ایک ویب سائٹ کی تعمیر ہر ایک وقت پھر سے کرنے کی ضرورت نہیں." "کیوں ہم صرف آپ کے لئے ان تمام چیزوں کو کرتا ہے کہ ایک پیکیج نہیں ہے ہر ایک وقت آپ کو ایک ویب سائٹ کی تعمیر کرنا چاہتے ہیں؟ " اور اس طرح ہے کہ آپ ایک نئی ویب سائٹ بنانے کے جب، آپ کو صرف بالکل یہ خاص طور پر ویب سائٹ کے بارے میں کیا ہے پر توجہ مرکوز. تم سب کو مختلف ترتیب دوبارہ کرنے کی ضرورت نہیں ہے اور کوڈ کی علیحدگی اور پھر سے لکھنا کوڈ آپ اکثر آپ کی ویب سائٹ بنا رہے ہیں جب کیا کرنا ہے. خیال ایک فریم ورک آپ کو ایک اعلی سطح کے کوڈ لکھنے کے لئے کی اجازت دیتا ہے ہے نچلے درجے تفصیلات کے بارے میں فکر کرنے کی بغیر. ایک نچلے درجے کی تفصیل کچھ اس طرح ہو سکتا ہے صارف کی ان پٹ کے اعداد و شمار کی صفائی کے ساتھ نمٹنے. یہی وجہ ہے کہ اگر آپ واقعی کے بارے میں فکر کرنے کی ضرورت نہیں ہے کہ کچھ ہے. آپ اپنے ویب کی تقسیم سے متعلق اصل میں ہے کیا پر توجہ مرکوز کرنا چاہئے. یہ نمونہ کوڈ کا ایک بہت ختم. یہ آپ کے منصوبے کے لئے ایک فن تعمیر ہے. سب سے زیادہ مقبول ایک ماڈل دیکھیے کنٹرولر، ہو جائے گا میں نے ایک دوسرے کے بارے میں بات کرنے کے لئے جا رہا ہوں، جس میں. اور وقت کی ایک بہت یہ فریم ورک زمانہ کے طریقہ کار کا ایک سیٹ ہنستے، آپ کو استعمال کرنے کے لئے قوانین، اور بہترین طریقوں تاکہ آپ کی ویب فریم ورک اپنانے جب آپ کو ایک خاص طریقے میں آپ کے کوڈ لکھنا ہے اور یہ عام طور پر ایک اصولوں کے سیٹ پر اتفاق کیا ہے عام طور پر قبول کیا جاتا ہے کہ کمیونٹی کی طرف سے تحریری طور پر کوڈ کا ایک اچھا طریقہ ہے. یہ، زیادہ استعمال کے قابل، آپ کے کوڈ کو زیادہ قابل بناتا ہے تو اور تو آگے. اور آخر میں، میں چاہتا ہوں بات یہ ہے کہ فریم ورک کے بارے میں پر زور دینا لائبریریاں بمقابلہ کنٹرول کا الٹا کے بارے میں یہ خیال ہے، اور بات یہ ہے. ایک لائبریری اور ایک فریم ورک کے درمیان فرق یہ ہے کہ ایک لائبریری کے ساتھ اگر آپ اب بھی اہم پروگرام لکھ رہے ہیں، اور آپ کی طرح لائبریری بھیجنی رہے ہیں اور آپ کے لئے کچھ کرنے کے لئے لائبریری پر بلا. ایک لائبریری اور ایک فریم ورک کے درمیان فرق فریم ورک کے کنٹرول کے ساتھ باہر سے شروع ہوتا ہے، اور یہ آپ کے کوڈ invokes، تو آپ کے طور پر سوچ سکتے ہیں - یہ ایک فریم ورک کہا جاتا ہے یہی وجہ ہے - فریم ورک آپ کے کوڈ کے لئے اس فریم اور ڈھانچہ فراہم کرتا ہے، اور آپ کے سوراخ میں بھرنے، اور یہ ایک دوسرے میں زیادہ واضح ہو جائے گا آپ کو دیکھ کر جب فریم ورک کے تناظر میں کوڈ لکھنے کے لئے شروع. تم نے خلیج میں بھرنے رہا ہوں دیکھ لیں گے، اور فریم ورک قسم کے، تمام منتقل کر ٹکڑے ٹکڑے کر کنٹرول کیا جاتا ہے اور میں نے صحیح جگہوں میں ٹکڑے ٹکڑے کر کے ڈال دیا ہے. آج ہم Kohana کے بارے میں بات کرنے جا رہے ہیں، جس میں بہت سے پی ایچ پی کی فریم ورک میں سے ایک ہے. ، ویب فریم ورک ہیں، اور ہیں عملی طور پر ہر ایک کی زبان میں موجود ہیں Kohana arguably سب ہے کیونکہ اور میں Kohana اٹھا رہا ہوں اور عام طور پر لینے کے لئے سب سے آسان پی ایچ پی کی فریم ورک کے طور پر تسلیم کیا. یہ سب سے زیادہ ہلکا پھلکا ہے. بہت سے، بہت زیادہ خصوصیات کے ساتھ آئے کہ وہاں دیگر لوگوں کے، ہیں لیکن وہ لینے سے زیادہ مشکل ہوتے ہیں. اور آخر میں، Kohana MVC فن تعمیر کا استعمال کرتا ہے. یہ ہم لفظی ایک منصوبے تعمیر کر سکتے ہیں یہ کافی ہلکا پھلکا ہے یہیں ٹھیک ہے آپ کی آنکھوں کے سامنے، اور آپ کو بہت زیادہ کر سکتے ہیں بہت آسانی کے ساتھ عمل. MVC فن تعمیر کیا ہے؟ یہ، ماڈل دیکھیے کنٹرولر کے لئے کھڑا ہے آپ کوڈ کے بارے میں سوچنا تو شاید آپ اب تک لکھ دیا گیا ہے آپ ویب کی ترقی psets میں سے کچھ کے لئے آپ لکھنا شروع جب آپ عام طور پر اس میں سے کچھ کو دیکھنے کے لئے کے قابل ہو جائے، لیکن کر سکتے ہیں ایک سے زیادہ پیچیدہ ویب ایپلیکیشن، ان 3 طبقات کے درمیان تقسیم زیادہ سے زیادہ واضح ہو جاتا ہے. میں، ترتیب کی ایک اسٹیک کے طور پر یہاں MVC باہر رکھی اور اکثر آپ لوگوں کو ویب کی ترقی میں stacks کے بارے میں بات کرتے سن گے، اور اس خیال کی نمائندگی کرتی ہے ہر پرت، ہر جزو واقعی صرف بات چیت کرنے کی کوشش کرتا ہے 2 دیگر اجزاء کے درمیان. کسی ایک کلائنٹ یا براؤزر کے طور پر آپ کی ویب سائٹ تک رسائی حاصل. وہ دیکھیے کوڈ کے ذریعے آپ کے پروگرام کے ساتھ بات چیت. دیکھیں کوڈ کنٹرولر کے ساتھ انٹرایکٹ. کنٹرولر، ماڈل کے ساتھ انٹرایکٹ اور ماڈل SQL ڈیٹا بیس کے ساتھ انٹرایکٹ. آپ درست طریقے سے آپ کے کوڈ میں لکھنے اور اگر درمیان میں کوئی hopping کی ہے. ان چیزوں کو کیا کروں؟ ماڈل بنیادی طور پر آپ کے ڈیٹا کے ساتھ کرتا ہے کے کوڈ کا ٹکڑا ہے. آپ کو محفوظ کہ اشیاء کے ساتھ، آپ کے ڈیٹا بیس کے ساتھ کرتا ہے کچھ بھی، یا ڈیٹا بیس میں ان اشیاء کی بازیافت، کہ تمام ماڈل کی طرف سے سنبھالا ہے. شاید آپ کو آپ کے ڈیٹا بیس میں اشیاء ہے. ہم پیغامات کے ساتھ کیا کرنے کے لئے ایک ماڈل بنانے کے لئے جا رہے ہیں، تو ایک پوسٹ اس کے لئے کچھ صفات ہو سکتی ہے. تم ان پیغامات کو ذخیرہ کرنے یا خطوط کی بازیافت کے ارد گرد کام کرتا ہے کر سکتے ہیں یا تو اور تو آگے مراسلات اور فلٹرنگ، اور یہ کہ ماڈل کی طرف سے سنبھالا ہے کہ تمام کوڈ ہے. کنٹرولر کی درخواست کی منطق کی طرح ہے، اور مختلف چیزوں کی ایک بہت کی درخواست منطق میں جا سکتے ہیں. آپ کو ایک مختلف API سے بات کر رہے ہیں، آپ کی درخواست منطق کے ساتھ کام کر رہے ہیں جہاں کہ ہو سکتا ہے. آپ ایک سے زیادہ مختلف ماڈل کے اعداد و شمار میں لانے کے لئے حاصل کرنے کی کوشش کر رہے ہیں اور اکثر کنٹرولر کی طرف سے سنبھالا جا سکتا ہے، کسی طرح میں ان کو جمع کرنے کے لئے ہے. مثال کے طور پر، فیس بک پر، آپ کے دوست کسی اگر، کہ تعلقات قائم کرنے کے اس وقت شاید اس ایکٹ کنٹرولر کی طرف سے کیا جا سکتا ہے. اور آخر میں، دیکھیں آپ اصل میں دیکھ کر کیا پیدا کیا ہے کہ کوڈ ہے. کئی بار میں CS50 psets میں میں کیا سوچتے ہیں وہ واقعی ان 3 چیزوں کو علیحدہ کرنے کے لئے تم لوگوں کو حوصلہ افزائی نہیں کرتے. آپ نے شاید سب سے اوپر ہے جہاں یہ بڑے، طویل فائل پڑے گا آپ کو کچھ SQL سوال کے بنانے کے لئے اور شاید کچھ پروسیسنگ کرتے ہیں اعداد و شمار پر آپ کو ڈیٹا بیس سے حاصل اور پھر آپ کو نیچے دیئے گئے تمام اپنے HTML ہے. آپ زیادہ سے زیادہ صفحات بنانے کے طور پر اور آپ کو تلاش ہے کہ ہو سکتا ہے تم نے بھی کچھ کوڈ تکرار کے لئے جا، اور کر رہے ہیں، بات یہ ہے کہ آپ کی فائل بہت بڑی اور طویل ہو جاتا ہے اور منظم کرنے کے unwieldy ہو جاتا ہے. MVC اتنی اچھی طرح سے سمجھا جاتا ہے کی وجہ سے وجوہات میں سے ایک بڑی تعداد کے لئے ہے. پہلی بات کے خدشات کی علیحدگی کچھ کہا جاتا ہے جس سے آپ کو ہے جب کا خیال ہے کہ ہے - کوڈ کے مثالی طور پر 1 ٹکڑا، 1 بات کرتے ہیں اور واقعی میں بہت اچھا کرنا چاہیے اور آپ کو مختلف چیزیں ہے کہ کوڈ کے ٹکڑے جمع نہیں ہونا چاہئے. مثال کے طور پر،، کوڈ اور ماڈل کوڈ دیکھنے کے وہ واقعی متعلق ہو کی ضرورت نہیں ہے. آپ، ان کو الگ الگ کر سکتے ہیں جب وہ ایک ہی فائلوں میں ہونا ہے، ایسا نہیں کرتے تو اس کو برقرار رکھنے کے لئے آسان ہے. دوسری چیز کوڈ دوبارہ استعمال ہے. تم اپنے آپ کو ایک ہی SQL سوال کے لکھنے یا کر تلاش کر سکتے ہیں 1 تقریب میں abstracted جا سکتا ہے کہ اسی طرح کے سوالات، اور یہ کہ، خیال ماڈل اور کنٹرولرز کے پیچھے ہے آپ کو آپ کے منصوبے میں مختلف مقامات میں دوبارہ استعمال کر سکتے ہیں کہ ایک علیحدہ تقریب میں اس کے ہونے. اور آخر میں، یہ ہے کہ، آپ کے کوڈ خشک کرنے والی مشینیں سے منسلک ہے یا اپنے آپ کو بار بار نہیں، اپنے آپ کو نہ دہرائیں. اس ترقی میں بہت قابل فہم ہے. آپ، آپ اپنے آپ کو دوبارہ کیونکہ اگر، اپنے آپ کو دوبارہ نہیں کرنا چاہتے ہیں کر سکتے ہیں، جب بھی،  یہ بہت زیادہ مہنگی برقرار رکھنے کے لئے ہے. آپ 1 چیز کو تبدیل کرنا چاہتے ہیں تو، آپ، ہر جگہ اسے تبدیل کرنے کے لئے ہے اور اس کیڑے کی طرف جاتا ہے، اور یہ خوفناک ہے. ٹھیک ہے. اب تک Kohana بارے میں کوئی سوال بالکل؟ عظیم. اب ہم لائیو کوڈنگ سیشن میں کودو جا رہے ہیں، اور امید ہے کہ سب کچھ اچھی طرح سے جاتا. میں بنیادی طور پر اس ویب سائٹ کی تعمیر کے لئے جا رہا ہوں میرے دور دراز کے سرورز میں سے ایک، اور تم لوگ بھی کر سکتے ہیں اس طرح پر ویب سائٹ دیکھنے کے لئے اور ویب سائٹ تک رسائی، اور بھی ماحول، اپنے ریموٹ مشین سے بہتر ترتیب دیا گیا ہے اس کی بجائے او ایس ایکس کے لینکس چل رہا ہے کیونکہ ہم لفظی شروع کرنے کے لئے جا رہے ہیں. KohanaFramework.org. میں نے ویب سائٹ سے کوڈ ڈاؤن لوڈ، اتارنا کرنے کے لئے جا رہا ہوں. میں لنک ایڈریس کاپی کرنے کے لئے جا رہا ہوں، اپنے سرور پر جانا، اسے ڈاؤن لوڈ، اور میں نے اسے نکالنے کے لئے جا رہا ہوں. [Student کی] آپ متن کر سکتے ہیں سب سے بڑا ہے؟ [برینڈن لیو] یہ بہتر ہے؟ [Student کی] [برینڈن لیو] جی ہاں، یہ ٹھیک ہے کہ ممکن؟ ہے. میں، ایک زپ فائل ڈاؤن لوڈ اور Kohana نامی ایک ڈائریکٹری میں ہے unzipped اور ہم، کہ CS50-Kohana نام تبدیل کرنے جا رہے ہیں اور اندر جانے بہت اچھے. یہاں آپ مختلف فائلوں کا ایک گروپ کو دیکھ. آپ میں سے زیادہ تر نظر انداز کر سکتے ہیں - یہاں ہے ہر ایک فائل کے ذریعے جانے کے لئے نہیں جا رہا we're ہمارے وقت کی رکاوٹوں کی وجہ سے، لیکن عام طور پر آپ کو Kohana، تم کرتے ہو سب سے پہلی چیز نصب جب آپ ڈائریکٹری پر جائیں، اور آپ کو بنیادی طور پر کچھ ماحول ٹیسٹ اور whatnot کروں گا اس بات کا یقین کرنے کے لئے آپ کے ماحول مناسب طریقے Kohana کو چلانے کے لئے مقرر کیا گیا ہے اور سب کچھ ٹھیک ہے کہ اس بات کو یقینی بنائیں. آپ سب سے زیادہ چیزوں منظور دیکھ سکتے ہیں، لیکن عام طور پر آپ کو ہمیشہ یہ 1 مسئلہ میں چلانے یہ کچھ ڈاریکٹری قابل تحریر نہیں ہے کہ شکایت جہاں اور اس کی وجہ سے کچھ کی اجازت کی ہے. میں، تم لوگ CS50 میں فائل کی اجازت کے بارے میں سیکھا ہے کہ کس طرح زیادہ سے زیادہ نہیں جانتے آپ ویب کی ترقی لیکن اگر، آپ کو اس معاملے میں ایک بہت کو چلانے کے لئے جا رہے ہیں. میں نے اس تحریر کو بنانے کے لئے جا رہا ہوں ہمیں جانا وہاں - اور میں میں نے بھی لگتا ہے. ٹھیک ہے، تو اب آپ کو سب کچھ منظور دیکھ سکتے ہیں، اور اب یہ install.php فائل کا نام تبدیل کرنے کے لئے آپ کو بتائے گا. میں installed.php پر install.php فائل منتقل کرنے کے لئے جا رہا ہوں، اور اب میں، کی تازہ کاری کریں تو اس نے مجھے کچھ خرابی دیتا ہے، اور ٹھیک کرنا اندر آتا ہے جہاں یہ ہے آپ اصل میں کیا ہونے جا رہا ہے دیکھ سکتے ہیں جہاں یہ ہے. بات یہ ہے کہ ڈیفالٹ کی طرف سے، Kohana کہ مان لیا گیا، ہے آپ کے منصوبے، آپ کے ڈومین کے روٹ ڈائریکٹری میں ہے تو یہ آپ demo.brandonkliu.com پر ہونے کی توقع ہے. ہم اسے ایک سب فولڈر میں اصل میں ہے کہ یہ بتانا ہے. یہ CS50 Kohana نامی ایک ذیلی پوشے میں موجود ہے. بات یہ ہے کہ CS50-Kohana وبیشتر غلط تشریح ہے، ہے میں نے ایک دوسری میں آپ کو وضاحت کریں گے جس میں کچھ اور، کے طور پر. لیکن میں نے اس کی توقع ہے کہ کچھ ہے آپ کو بتانا چاہئے. ہم کیا کرنے جا رہے ہیں، ہم bootstrap.php نامی اس فولڈر میں جانے کے لئے جا رہے ہیں جس میں مختلف چیزوں کی ایک بہت قائم کر رہے ہیں جہاں ترتیب فولڈر ہے. میں اس کو کھولنے. پھر شاید میں کروں گا سب سے پہلے چیزوں میں سے ایک ٹائم زون میں تبدیلی ہے. اور پھر دیکھتے ہیں. آہا! یہاں. مختلف ترتیب کے اقوال کا ایک گروپ یہاں میں ہیں، لیکن میں دیکھ رہا ہوں ایک، بیس یو آر ایل نامی یہ بات ہے اور ڈیفالٹ کی طرف سے میں نے اس Kohana کے لئے مقرر کیا حاصل لیکن میں، CS50-Kohana ہے کہ تبدیل کرنے کے لئے جا رہا ہوں اور میں اسے درست کرنا چاہئے. جی ہاں، بہت اچھا. ڈیفالٹ کی طرف سے، یہ، اس کا کہنا ہے، کام کر رہا ہے دیکھتے ہیں کہ "ہیلو دنیا." کہاں سے آیا؟ ہم کس طرح ہیلو دنیا کے حاصل کیا؟ کہاں اصل میں اس نے لکھا ہے کہ کوڈ ہے؟ سمجھتے ہیں کہ، میں روٹنگ نامی اس تصور کو متعارف کرانے گا. بہت تمام ویب فریم ورک، روٹنگ بلایا تصور ہے ایک مخصوص یو آر ایل کا نقشہ گے کہ سافٹ ویئر کا ایک ٹکڑا ہے جو آپ فریم ورک کے اندر کوڈ کی ایک خاص ٹکڑا. آپ کو کچھ یو آر ایل ہے اور اگر مثال کے طور پر، آپ کی طرح foo.com / بلاگ / کچھ یو آر ایل کے لئے جانا پھر کیا فریم ورک کیا جا رہا ہے - یا کم از کم کیا Kohana کیا جا رہا ہے - یہ کنٹرولر بلاگ نامی ایک کلاس تلاش کرنے کے لئے کی جا رہی ہے اور اس تمام تقریب کا نام کارروائی چلانے کے لئے جا رہا ہے. میں نے کلاس اور افعال کے بارے میں بات کر رہا ہوں معلوم ہے، اور میں تم لوگوں کو کلاس اور افعال شامل نہیں ہے جانتے ہیں ابھی تک CS50 میں، لیکن اب کے لئے، آپ کے افعال میں سے صرف ایک گروپ کے طور پر کلاس کی سوچ سکتے ہیں، ایک ساتھ مل کر کام کرتا ہے گروہ بندی کا ایک طریقہ. یہ واقعی آپ کو جاننے کی ضرورت ہے. اب ہم اپنے فولڈر کی ساخت میں نظر آتے ہیں، درخواست فولڈر کے اندر کلاس کہا جاتا ہے کسی دوسرے فولڈر، ہے اور دوسرے فولڈر کنٹرولر اور ماڈل کہا جاتا ہے. آپ کو کنٹرولر فولڈر کے اندر نظر آتے ہیں، ہم، میں خوش آمدید کہا جاتا ہے ایک فائل ہے کہ وہاں دیکھتے اور آپ، یہاں دیکھ کنٹرولر میں خوش آمدید کہا جاتا ہے ایک کلاس ہے کر سکتے ہیں اور ایکشن انڈیکس نامی ایک تقریب ہے، اور کیا اس سے فرق پڑتا ہے کہ یہ ہیلو دنیا کے آپ کے جواب کے جسم کا تعین کرتا ہے. کوڈ لکھا جا رہا ہے جہاں ہے. دیگر سوال، ٹھیک ہے، میں نے نہیں جانا تھا ہے بلاہ، بلاہ، بلاہ، / میں خوش آمدید / انڈیکس. میں یہاں کس طرح ختم کیا؟ ٹھیک ہے، یہ صرف اس وجہ سے ہے ہمارے یہاں بوٹسٹریپ فائل کے نیچے ہم اپنے راستوں مقرر جہاں وہ آپ کے لئے کچھ ڈیفالٹس قائم دیکھ سکتے ہیں. پہلے سے طے شدہ کنٹرولر کا استقبال ہے. پہلے سے طے شدہ کارروائی انڈیکس ہے. ہم وہاں میں کچھ نہیں دیا جب یہ خود کار طریقے سے خوش آمدید کنٹرولر گئے یہی وجہ ہے کہ اور انڈیکس ایکشن. سب کچھ اب تک مطلب ہے؟ اب، آپ کو صرف کنٹرولر پر جانے کے زیادہ سے زیادہ کر سکتے ہیں اور ایک مخصوص ایکشن. تم نے بھی کنٹرولر پیرامیٹرز میں منتقل کر سکتی ہیں. صرف ایک مثال کے طور پر، میں آپ کو ظاہر کرنے کے لئے اس کے کنٹرولر کے لئے ایک اور کارروائی شامل کرنے کے لئے جا رہا ہوں. یہ آپ کو دے جو کچھ بھی آپ کو بتانے کے لئے جا رہا ہے کیونکہ، بازگشت اس عمل کو کہتے ہیں، اور اس میں بنیادی طور پر قبضہ کرنے کے لئے جا رہا ہوں روٹنگ پروگرام کے لئے مجھ سے کے ذریعے بھیجا جا رہا ہے کہ ایک پیرامیٹر، اور آپ یہاں دیکھ سکتے ہیں کے طور پر، یہیں اس لائن، آپ دیکھ سکتے ہیں کہ یہ بنیادی طور پر، آپ کو کنٹرولر ہے، اور آپ کو ایک / کا مطلب ہے اور، آپ کو کارروائی ہے، اور آپ کو ایک اور / ہے اور اس کے پیرامیٹرز کو ہونے جا رہا ہے، اور ہم اس کے نام کی شناخت ہے کیونکہ زاویہ بریکٹ کے اندر اندر، کہ ہم اس پیرامیٹر ID کے نام کر رہے ہیں کا مطلب ہے کہ. بعد میں اس کے کنٹرولر کے کوڈ میں میں نے اس پیرامیٹر کی پکڑ پر قبضہ کرنا چاہتے ہیں، میں شناختی کا نام پیرامیٹر کو تلاش، میں نے لکھا کوڈ استعمال کر سکتے ہیں. یہی وجہ ہے کہ میں نے یہاں کیا کیا ہے، اور میں واپس اور کہنے جا رہا ہوں، کہ "تم نے کہا کہ". اور تو اب میں، ہماری ویب سائٹ پر جاؤ میں cs50-kohana/welcome/echo/Helloooo-- پر جانا اوہ، یہ ٹھیک ہے. میں باہر چھوڑ دیا 1 قدم ہے. یہ زندہ کوڈنگ خیال کا حصہ ہے. 1 یہاں بات ہے. چلو دیکھتے ہیں. تو عام طور پر ان کی ویب ایپلی کیشنز کی ایک بہت کے ساتھ پہلے سے طے شدہ کی طرف سے آپ کو آپ کے یو آر ایل میں اس index.php کو بات شامل کرنے کے لئے ہے، خیال index.php کو اندراج کے نقطہ کی طرح ہے ہے کیونکہ آپ کی درخواست کی، لیکن کورس کے، اس طرح کے پریشان کرنے کی ضرورت ہے. آپ index.php کو آپ کے یو آر ایل میں ظاہر ہے نہیں کرنا چاہتا اور باکس کے باہر بہت ہر ویب فریم ورک اس index.php کو مسئلہ ہے، لہذا آپ کو اس دور کرنے کے لئے کے قابل ہو جائے کرنے کے لئے کچھ اقدامات کرنے کی ضرورت ہے. اور تو اس صورت میں، ہم کیا کرنے جا رہے ہیں ہم. htaccess کی نامی ایک فائل استعمال کرنے کے لئے جا رہے ہیں، اور اس، اپاچی ویب سرور کے لئے مخصوص ہے کہ کچھ ہے اور اسے دوبارہ سے لکھنا یو آر ایل کی طرح باتیں کر سکتے ہیں اور تو اور وغیرہ کے یو آر ایل اور ری ڈائریکٹ، اور Kohana ہم استعمال کر سکتے ہیں کہ ایک ٹیمپلیٹ. htaccess فائل فراہم کرنے کے لئے کافی اچھا ہے. آپ دیکھ سکتے ہیں >>، example.htaccess کہا جاتا ہے وہاں ایک فائل ہے، اور ہم. htaccess کی ہے کہ کاپی کرنے کے لئے جا رہے ہیں. میں اس کو کھولنے اور اس میں ترمیم کرنے کے لئے جا رہا ہوں، اور بنیادی طور پر یہ مختلف چیزوں کا ایک گروپ ہے. آپ کو دیکھنے کے لئے چاہتے ہیں کر سکتے کلیدی لائن یہاں ہے. خیال، اس کا کہنا ہے کہ ایک اصول کا تعین کرتا ہے "ٹھیک ہے، جو کچھ بھی آپ کو اس کے لئے، prepend index.php کو میں ٹائپ کریں." آپ دیکھ سکتے ہیں کہ. *، کچھ ملنے کے، کچھ کے لئے کھڑا ہے اور اس کے بعد دوسرا حصہ، index.php کو / $ 0 ہے اور $ 0 پہلے مماثل کیا گیا تھا جو بھی مراد ہے. احساس ہے کہ ہے؟ لیکن میں تبدیل کرنا چاہتے ہیں، واقعی اہم بات یہ ہے، اس کے دوبارہ سے لکھنا کی بنیاد کو تبدیل ہے جس میں یو آر ایل کی بنیاد ہے. آپ کی طرف سے کام کر رہے ہیں جہاں اس طرح کی رکھتی ہے. میں نے اس کے لئے CS50 Kohana شامل کرنے کے لئے جا رہا ہوں، اور اس طرح اب میں index.php کو ہٹانے، یہ کام کرنا چاہئے، اور میں کچھ تعداد کو شامل کرنے کے لئے جا رہا ہوں یہ واقعی کام کیا کہ آپ کو ظاہر کرنے کے لئے. اچھا لگتا ہے. تو اب تک کسی بھی سوال؟ [Student کی] یہ کس طرح 123 کرنے کے لئے پتہ تھا؟ کہ ایک دلیل ہے؟ بالکل ٹھیک. آپ کو صرف ایک دلیل کی طرح اس کے بارے میں سوچ کر سکتے ہیں. لیکن عجیب بات یہ ہے کہ، اگرچہ، ہے کہ Kohana کرتا ہے راستہ وہ بالکل ایک دلیل کی طرح ایسا نہیں ہے. آپ اس طرح اس پر قبضہ کرنے کے لئے ہے. آپ کی درخواست اعتراض پر قبضہ اور شناختی کا نام ہے کہ پیرامیٹر کے لئے پوچھنا پڑے، اور اس کے نام کی شناخت ہے کہ بوٹسٹریپ فائل سے آتا ہے ، میں نے پہلے سے ظاہر ہوتا ہے، اور نام کی شناخت ان کے زاویہ بریکٹ میں تھا کہ اور یہ کہ آپ ان پیرامیٹرز پر قبضہ کا طریقہ یہ ہے. بہت اچھے. کوئی سوال؟ جیسے میں نے کہا، کنٹرولرز، وہ، کی درخواست کی منطق کو ہینڈل تو یہ آپ that's دیکھ سکتے ہیں جہاں 1 مثال کے طور پر ہے - ، یہ بہت بنیادی ہے، لیکن یہ اب بھی درخواست کی منطق پیرامیٹر پکڑ اور ایک نئی سٹرنگ پیدا کرنے کے خیال "آپ بلاہ نے کہا کہ"، کا کہنا ہے کہ اور اس کے بعد آپ کو واپس توکنا ہے. اور عام طور پر آپ کیا آپ کو مختلف کنٹرولرز کی تخلیق ہے. آپ اپنی ویب سائٹ کے مختلف حصوں کے لئے الگ الگ کنٹرولرز کی تخلیق. آج ہم ایک بہت سادہ ویب سائٹ بنانے کے لئے جا رہے ہیں، اور یہ ایک بہت بنیادی بلاگ پر جا رہا ہے. ہم صرف ایک بلاگ میں خطوط کے لئے ایک نئے کنٹرولر بنانے کے لئے جا رہے ہیں. لیکن اس وقت میں، بھی بلاگ پوسٹ پر تبصرے شامل کرنے کے لئے تھے پھر شاید میں ان کے تبصرے کے لئے ایک نئے کنٹرولر بنانے کے لئے چاہتے ہیں. میں صارفین شامل کرنے کے لئے چاہتے تھے، میں شاید ان صارفین کے لئے ایک نئے کنٹرولر شامل کریں گے، اور عام طور پر، خیال ہے کہ آپ کو ایک نیا ماڈل ہے جب بھی، آپ کے ساتھ کام کر رہے ہو کہ ایک نئے اعداد و شمار اعتراض، آپ اس اعداد و شمار کے اعتراض کے لئے ایک کنٹرولر ہے. آج ہم صرف 1 ڈیٹا اعتراض کے ساتھ کام کرنے کے لئے جا رہے ہیں، اور اس کے خطوط جا رہا ہے، اور بھی آپ کو ٹیبل کے مطابق کے طور پر اعداد و شمار اشیاء کے بارے میں سوچ کر سکتے ہیں. عام طور پر ہر ایک میز کے اعداد و شمار کے اعتراض کے 1 قسم کے مساوی ہے، تو پوسٹ ٹیبل، 1 مراسلہ ماڈل پڑے گا کہ اسی 1 مراسلہ کنٹرولر پڑے گا جس، اور تبصرے، تو اور تو آگے کے صارفین کے لئے ایک ہی ہے، اور کے لئے ایک ہی. اور یہ کہ ایک انگوٹھے کا عام اصول ہے. آپ کو اس سے مختلف ہو سکتی ہے جہاں خصوصی مقدمات ہونا جا رہے ہیں، لیکن آپ کر جا رہے ہیں کیا ہے اس وقت کے 90٪، اور میں آج ہم کر جا رہے ہیں کیا ہے تمہیں دکھاتا ہوں. 1 ہم واپس کوڈ میں کودو سے پہلے زیادہ تصور، اعتراض سنبندپرک تعریفیں کے اس خیال. تم لوگوں کو پہلے سے ہی ایک ویب کی ترقی pset کے کیا ہے، اور آپ کو، آپ کو ایک SQL سوال ہے کہ دیکھا ہے اور یہ آپ کو واپس جو بھی قطاروں ہیں. آپ، کچھ نام کی طرف سے ان ان قطاروں کو حاصل، اور آپ کو انڈیکس کالم اور ٹیبل کے نام، اور یہ کہ، تم اس کے ساتھ کس طرح کام ہے اور یہ تھوڑا پیچیدہ ہو سکتا ہے. لیکن اس کے علاوہ، آپ کو آپ کے ڈیٹا بیس کے اندر اندر تعلقات ہیں تو، جیسے مثال کے طور پر میں، تبصرے اور خطوط ہے تو تو شاید میں نے ایک تبصرہ کے والدین پوسٹ پر قبضہ کرنا چاہتے ہیں. میں SQL میں صرف قطاروں کا استعمال کرتے ہیں، پھر میں نے حاصل کر سکتے ہیں تمام شناختی ہے والدین پوسٹ کی اور نہ اصل مراسلہ خود. ہم کوڈنگ کر رہے ہیں لیکن جب، کیا ہم واقعی چاہتے ہیں اصل میں قبضہ کرنے کے لئے ہے  والدین کبھی کبھی خود کو پوسٹ. سنبندپرک تعریفیں ہے کرتا ہے اعتراض یہ ڈیٹا بیس کے سوال کے نتائج سے لیتا ہے اور اس کے ساتھ کام کرنے کے لئے بہت اچھے ہیں جو آپ کے لئے اشیاء، میں رکھتا ہے سادہ arrays اور قطار سے. مثال کے طور پر، اب میں، شاید ایک تبصرہ ہے جب اور میں اس کے والدین پوسٹ پر قبضہ کرنا چاہتے ہیں، اور میں شاید تیر رائے دیجئے ہیں، تو یہ اصل میں مجھے پوسٹ اعتراض دے گا اصل والدین کی پوسٹ کے مطابق، کچھ کی شناخت نہ صرف، جس میں دوسری صورت میں مراسلہ پر قبضہ کرنے کی ایک اور SQL سوال کے استعمال کرتے ہیں اور بنانا ہوگا، بوجھل اور غیر ضروری ہے. اور مزید برآں، اشیاء میں ان تمام کوائف قطاروں میپنگ کی طرف سے، تم نے بھی اشیاء پر زیادہ کام کرتا ہے منسلک کر سکتے ہیں، تو مثال کے طور پر، میں نے کلاس کے بنیادی طور پر کام کرتا ہے کے گروہوں ہیں کہ کس طرح کے بارے میں بات. تم اس طرح اس کے بارے میں سوچ کر سکتے ہیں. مثال کے طور پر، ہو سکتا ہے کہ میں اس پوسٹ پر اعتراض ہے، اور شاید میں اس سے منسلک تقریب کے کسی قسم کے چاہتے ہیں یہ بنیادی طور پر مجھے یہ حال ہی میں پوسٹ کیا گیا تھا بتاتا ہے؟ یہ سچ ہے یا جھوٹ، آخری ہفتے کے اندر اندر پوسٹ کیا گیا تھا؟ اور یہ کہ میں نے اس اعتراض پر منسلک کر سکتے ہیں ایک تقریب ہے، اور یہ ایک ہی جگہ میں ہے کے لئے بہت آسان ہے اور آپ کو بنا سکتے ہیں مختلف افعال کے ایک میزبان ہیں ان اشیاء کے لئے، اور یہ ایک کلاس میں منسلک کرنے کے قابل ہونا بہت اچھی بات ہے، ایک چیز کے لئے، آپ کو صرف آپ کے ڈیٹا بیس سے آنے والی قطاروں تھا جبکہ، تو پھر آپ واقعی میں اس کے لئے کسی بھی فعالیت سے منسلک نہیں کر سکتے ہیں. یہ لفظی صرف ڈیٹا ہے. بالکل اس کے بارے میں کوئی سوال ہے؟ ORMs بہت عام ویب کی ترقی کر رہے ہیں، اور ORMs کی مختلف اقسام کی ایک بہت ہیں، اور Kohana اس کے اپنے ORM ہے. یہ بہت بنیادی ہے، لیکن آپ اس طرح لگتا ہے کی ایک ذائقہ ملے گا. ہمارے بلاگ خطوط کے لئے ایک ماڈل کی تخلیق کرتے ہیں، اور ہم نے واضح طور پر کرنے کی ضرورت ہے سب سے پہلی چیز ایک حقیقی ٹیبل بنانے کے لئے ہے ہمارے ڈیٹا بیس کے اندر اندر اصل میں ان خطوط کے لئے ہمارے اعداد و شمار ذخیرہ کرنے کے لئے. میں کرنے جا رہا ہوں، پہلی بات phpMyAdmin کے کرنے کے لئے جانا ہے. تم لوگوں سے پہلے phpMyAdmin کے استعمال کیا ہے؟ ٹھیک ہے، بہت اچھا، تو تم لوگ پہلے سے ہی یہ ہے کہ کیا پتہ، اور میں Kohana پیغامات نامی ایک نئی میز بنانے کے لئے جا رہا ہوں، اور یہ واقعی آسان ہونے جا رہا ہے. میں اندر واپس لاگ ان کرنے کی ضرورت ہوگی آج ہم کیا کرنے جا رہے ہیں ایک مصنف اور ایک جسم ہے، صرف یہ آسان رکھنے کے. میں نے اس کی میز بنانے کے لئے جا رہا ہوں، اور اب ہم صرف ہمارے خطوط کی نمائندگی کی میز ہے ہمارے مصنف اور ہمارے جسم کے لئے 2 شعبوں کے ساتھ. اب میں کیا کرنے جا رہا ہوں دوسری بات یہ ہے یہ ڈیٹا بیس سے رابطہ قائم کرنے کے لئے کس طرح جانتا ہے تو میری ویب ایپلیکیشن کی تشکیل، اور اس کے، پھر، آپ کو تمام ویب ایپلی کیشنز کے ساتھ کرنا پڑے گا کہ کچھ ہے. آپ اس صارف کے نام اور پاس ورڈ کو بتانا ہوگا اور ڈیٹا بیس نام اور تو اور تو آگے اصل میں آپ کے ڈیٹا بیس سے رابطہ قائم کرنے کے لئے کس طرح پتہ کرنے کے لئے. Kohana میں، ہم، ایک ڈیٹا بیس ماڈیول کہا جاتا کچھ ہے اور ترتیب کے فولڈر میں ہم، ڈیٹا بیس نامی اس فولڈر ہے آپ دیکھ سکتے ہیں کے طور پر اور، آپ یہاں قائم کرنے کے لئے ہے کی ترتیبات کا ایک گروپ موجود ہیں صارف کا نام اور پاس کیا ہے یہ بتانے کے لئے ڈیٹا بیس کے لئے تو میں نے اصل میں اس سے رابطہ قائم کر سکتے ہیں. اور میں تم لوگوں کو اصل میں جاننا چاہتے ہیں نہیں ہے کے بعد صارف کا نام اور اپنے ڈیٹا بیس کی پاس، میں نے پہلے ہی یہ سب قائم ہے جہاں ایک فائل ہے، اور میں کاپی کریں اور اس پر چسپاں کرنے کے لئے جا رہا ہوں. بہت اچھے. ٹھیک ہے. میں اس میں کیا کرنے کی ضرورت کی ترتیب ہے، لیکن دیکھتے ہیں. کچھ کریش ہو تو ہم اس میں کام کرتے رہیں گے، اور تو ہم اسے ٹھیک کر دونگا. اب میں کیا کرنے جا رہا ہوں میں نے ایک نئے کنٹرولر بنانے کے لئے جا رہا ہوں. یا اصل میں، معذرت. سب سے پہلے میں ایک نیا ماڈل بنانے کے لئے ہے. میں، Post.php نامی ایک نیا ماڈل تشکیل دیں گے اور کیا ہم کیا کرنے جا رہے ہیں جو ہم کلاس Model_Post اسے فون کرنے جا رہے ہیں. کچھ نحو کو اجاگر کریں، اور تو جب میں کہتا ہوں، یہ بنیادی طور پر ہے "ORM، توسیع" کچھ اور آبجیکٹ اورینٹڈ پروگرامنگ، جس میں بدقسمتی سے لوگ آپ نے ابھی تک CS50 میں نہیں سیکھا، لیکن یہ لینے کے لئے بہت آسان ہے. یہ، مجھے اس ORM پیکیج میں آتا ہے کہ یہ سب اضافی فعالیت فراہم کرتا ہے اور تو میں، اضافی کام کرتا ہے اور مفت کے لئے whatnot کے ایک گروپ حاصل آپ کو ایک دوسرے میں تھوڑا سا نظر آئے گا جس میں. اب اصل میں میں کیا کرنے کی ضرورت اس کلاس بنانے کے ہے. میں بھی کسی بھی تقریب یا کچھ کرنے کی ضرورت نہیں ہے، لیکن میں نے میز کی نمائندگی کرتا ہے ایک کلاس پیدا کی ہے، اور میں اس ORM کلاس میں توسیع ہے کیونکہ، مفت کے لئے چیزوں کی ایک گروپ حاصل کریں، تو اب کے لئے آپ کو کچھ قائم کرنے کے لئے کی ضرورت نہیں ہے. اور اب میں کیا کرنے جا رہا ہوں میں نے ایک نئے کنٹرولر بنانے کے لئے جا رہا ہوں، جس میں blog.php نام کرنے جا رہا ہوں، اور میں خوش آمدید کنٹرولر پر کاپی کرنے کے لئے جا رہا ہوں تو میں نے کچھ چیزیں دوبارہ ٹائپ کرنے کی ضرورت نہیں، اور اب میں اس کا نام تبدیل کرنے کے لئے ہے. اب کیا مجھے یقین ہے کہ سب کچھ کام کر رہا ہے بنانے کے لئے ٹیسٹ کرنے کے لئے کیا کرنے جا رہا ہوں، میں اپنے ڈیٹا بیس سے پہلی پوسٹ پر قبضہ کرنے جا رہا ہوں اور سکرین پر پیغام کے جسم کو پرنٹ. کیا میں سب سے پہلے کرنے جا رہا ہوں میں پیغامات کو بچانے کے لئے جا رہا ہوں یہ ہے کہ ایسا کرنے کے لئے ایک متغیر تو کیا ہم کیا کرنے جا رہے ہیں - Kohana میں آپ کیا پوسٹ اعتراض پر قبضہ کرنے کی ہے ، اس کی قسم کے پیچیدہ ہے، لیکن آپ ORM کہا جاتا ہے اس بات :: فیکٹری کرنا ہے اور پھر آپ کو آپ چاہتے ہیں ماڈل کے نام پر منتقل، اور یہ کہ ماڈل کی نمائندگی کرتا ہے ORM اعتراض واپس. اور پھر، جیسا کہ میں، ہم ORM اعتراض توسیع جب، انہوں نے کہا کہ ہم مفت کے لئے ان تمام طریقوں کو حاصل کرنے کے لئے، تو مثال کے طور پر، ہم نامی اس نئے تقریب "، تمام" حاصل جس میں خود کار طریقے سے ڈیٹا بیس میں ہر ایک پوسٹ کی واپسی، جس میں بہت آسان ہے. اور اب جسم میں واپس جا رہا ہوں پہلی پوسٹ اور اس کے جسم کو واپس. اور ظاہر کی، میں نے ایک پوسٹ تخلیق کرنے کی ضرورت، تو ایک نئی پوسٹ داخل ہیں. میں، "برینڈن، میری بہت پہلے پوسٹ." کہیں گے بہت اچھے. اور اب ہم بلاگز پر جانے کے لئے جا رہے ہیں سب کچھ اچھی طرح سے کام کرتا ہے اور اگر - اوہ، یہ ایک بار پھر کسی دوسرے گونگا فائل کی اجازت کی بات ہے. 1 منٹ رکو. یہ قسم کے مضحکہ خیز ہے. ہم وہاں چلتے ہیں. ٹھیک ہے. میں اس کی اجازت کے مسئلہ طے. یہ کچھ فائلوں اور بعض لاگ ان بنانے کے لئے کوشش کر رہا تھا، اور اجازت، ایک بار پھر، مناسب طریقے سے مقرر نہیں کیا گیا، تو میں نے اسے بنایا تو ان فائلوں تحریر اور کارکردگی تھے تو یہ اصل میں چیزوں پر لاگ ان کر سکتے ہیں. اب یہ "، کلاس ORM نہیں ملا" مجھے ایک اور رعایت کہاوت، دے رہی ہے میں ایک اور قدم بھول کی وجہ سے اور یہ کہ. یہ بہت برا ہے. بوٹسٹریپ فولڈر فائل میں، یہاں ان ماڈیولز ہیں، آپ کو فعال یا غیر فعال کرنے کا انتخاب کر سکتے ہیں جس. یہ آپ کو استعمال کرنے کا انتخاب کر سکتے ہیں کہ مختلف خصوصیات کا ایک گروپ ہیں کی طرح اچھا ہے جس Kohana، کے اندر اندر. مثال کے طور پر، وہ ایک تصدیق ماڈیول ہے جس سے آپ کے صارفین کی تصدیق کے لئے استعمال کر سکتے ہیں. آپ کو نافذ کرنا چاہتے ہیں تو انہوں نے ایک کیشنگ ماڈیول ہے درخواست کے کام کو تیزی سے اور whatnot بنانے کے لئے آخر میں واپس کیشنگ کسی قسم کا. ہم ڈیٹا بیس اور ORM ماڈیول کو فعال کرنے کی ضرورت ہے، جیسے کہ میں نے کہا، کیونکہ، ہم، ظاہر ہے، ڈیٹا بیس کا استعمال کرتے ہوئے کر رہے ہیں اور ہم بھی ORM ماڈیول کو فعال کرنے کی ضرورت ہے، ہم اچھا ہے جس میں اضافی فعالیت، کرنا چاہتے ہیں کیونکہ. میں نے کیا کرنا ہے، ان 2 لائنوں uncomment ہے میں تازہ کاری کریں اور اگر اب، یہ مجھے ایک غلطی دیا. یہ "کلاس Model_Post نہیں ملا."، کا کہنا ہے کہ اب اس کے لئے ایک اچھا مسئلہ ہے. چلو دیکھتے ہیں. اسے عوامی بنانا. نمبر پر پکڑو. اوہ، عزیز. یہ ہے کہ تلاش کرنے کے قابل نہیں ہے کیوں مجھے نہیں معلوم. یہ واقعی عجیب بات ہے. میں یہاں اس کلاس ہے. اوہ - میں میں ہو سکتا ہے. میں تو گونگا ہوں. میں نے پی ایچ پی ٹیگ شامل کرنے کے لئے بھول گیا. یہی وجہ ہے. اب میں 1 کی تبدیلی میں صرف کیا ہے کہ کالعدم کرنے کے لئے ہے. ٹھیک ہے. ہم وہاں چلتے ہیں. یہ واقعی پاگل تھا. میں ایک افتتاحی پی ایچ پی ٹیگ نہیں تھا. آپ دیکھ سکتے ہیں کے طور پر، اب یہ درست، مناسب طریقے سے کام کر رہا ہے؟ ہم 1 پوسٹ ہے. ہم سب سے پہلے پوسٹ کو پکڑا، اور اب ہم اس کے جسم کے باہر طباعت. عظیم. تصوراتی، بہترین. کوئی سوال اب تک؟ نہیں،؟ کوئی سوال؟ ٹھیک ہے، تو ہم صرف بہت بنیادی، پوسٹ ماڈل پیدا اور ہم نے بعد میں کچھ کام کرتا ہے شامل کرنے کے لئے جا رہے ہیں. ہم validations اور فلٹرنگ شامل کر سکتے ہیں. validations کے چیزوں میں سے ایک ہیں فریم ورک بہت اچھا، واقعی آپ کے لئے حل کرنے کے ہے، اور میں تم لوگوں کو آپ CS50 pset کے لئے ایسا کرنے کے لئے تھا نہیں لگتا ہے، لیکن آپ کو آپ کی آخری منصوبے کے لئے ویب کی ترقی کرنا ہے تو، آپ کا امکان توثیق کے کچھ طرح کرنا چاہتے ہیں جا رہے ہیں، جیسے خالی صارف نام نہیں، شاید کم از کم کچھ حد کے ساتھ ایک پاس ورڈ ہے، اس طرح کی چیزیں. اور یہ، خود کی طرف سے ان چیزوں کو لاگو کرنے کے لئے واقعی بوجھل ہے اور بہت زیادہ ہر ایک ویب فریم ورک آپ کے لئے کرتا ہے اور آپ کو ایک بہت ہی صاف انداز میں ایسا کرنے کی اجازت دیتا ہے. آپ عام طور پر ان کی توثیق کے قواعد و ضوابط کا اظہار جہاں اور ماڈل، ہے یہ ایک ماڈل درست ہے یا نہیں کی توثیق کی ہے کیونکہ. لیکن اب کے لئے، ہم، اس کے بعد جب تک کہ ڈال کرنے جا رہے ہیں اور اب کے لئے ہم کسی دوسرے حصہ پر کام کرنے کے لئے جا رہے ہیں، اور ہم نے ایک نیا نقطہ نظر کی کوشش کریں اور بنانے کے لئے جا رہے ہیں وہ تمام پیغامات کی فہرست ہے. تمام پیغامات لسٹنگ کے لئے ایک نئی کارروائی کرانے میں شامل مراحل کے تمام مراسلات کی فہرست پر قبضہ کرنے کی ہے اور اس کے بعد ایک نقطہ نظر کے ذریعے تمام خطوط کی فہرست فراہم. یہاں، خوش قسمتی سے کافی، ہم نے پہلے ہی تمام پیغامات کو پکڑا یہ پہلی لائن کا استعمال کرتے ہوئے،، تمام تقریب کی تلاش اور اب ہم کیا کرنے جا رہے ہیں تو دور ہے میں براہ راست جواب کے جسم ترتیب دیا گیا ہے سٹرنگ گزر، لیکن اب میں ایک نقطہ نظر کا استعمال کرنا چاہتے کی طرف سے، اور صرف یہ کر ایک نقطہ نظر اور کے درمیان فرق ایک نقطہ نظر کے ساتھ میں ایک اچھا، بڑا HTML سانچے ہو سکتا ہے، اور میں کیا کر سکتے ہیں اس بات کا یقین متغیر پاس ہے اور پھر دیکھیں خود کار طریقے سے اس سانچے آباد ہے ان متغیرات کا استعمال کرتے ہوئے. میں کیا کروں گا، میں ایک نیا نقطہ نظر تشکیل دیں گے ہے اور میں "، بلاگ / انڈیکس" کی طرح نقطہ نظر کچھ نام کریں گے اور میں نے بنیادی طور پر اس کو پابند کرنے جا رہا ہوں - اوہ، میں کیا لکھ رہا ہوں؟ میرا دماغ کہیں اور ہے. میں، دیکھنے کے لئے متغیر پیغامات پابند کرنے جا رہا ہوں تو اس طرح سے اس پوسٹ متغیر تک رسائی حاصل ہے. اور تو اب اس میں دیکھنے، تخلیق کرنے کی ضرورت ہے، تو یہاں ہم "کے خیالات،" نامی اس فولڈر ہے اور سب سے پہلے، میں نے یہ کہا جاتا ہے کے تحت ایک نیا فولڈر بنانے کے لئے جا رہا ہوں "بلاگ." یہ اچھا ہے. اس طرح ہم اپنے خیالات کے لئے ایک اچھا تنظیمی ڈھانچے کر سکتے ہیں. اور پھر میں نے کہا جاتا ہے وہاں میں ایک فائل بنانے کے لئے جا رہا ہوں "index.php کو." بہت اچھے. اصل میں، یہاں ان دونوں کو دے. ایک نقطہ نظر کے فائل بنانا شاید یہ سب سے آسان حصہ ہے، اور یہ شاید آپ نے پہلے ہی سے واقف ہیں چیزیں ہیں. ہم، واقعی سادہ کچھ کرنے کے لئے جا رہے ہیں ، کہہ شروع، "بلاگ مراسلات کی فہرست." پھر ہم کے ذریعے جا سکتے ہیں، اور ہم مراسلات سرنی کے ذریعے iterate کر سکتے ہیں، ہر ایک پوسٹ پر قبضہ اور طرح کچھ کا کہنا ہے کہ - شاید ایک لائن شامل کریں اور اس کے بعد مصنف اور جسم کو پرنٹ. کہ اب تک مطلب ہے؟ اور یہ کام کرتا چلو دیکھتے ہیں اگر. کچھ بھی نہیں ہوا. مجھے حیرت ہے کہ کیوں. اوہ، میں 1 قدم یاد. میرے بہت ہی پاگل. میں ایک نقطہ نظر پیدا، لیکن میں نے ردعمل کے طور پر نقطہ نظر قائم نہیں کیا، تو آپ 1 مزید کام کرنا ہے. آپ "یہ جواب جسم" کرتے ہیں اور نقطہ نظر ہو یہ مقرر کرنے کے لئے ہے. ہم وہاں چلتے ہیں. ہم اپنے عنوان ہے، اور اس کے بعد ہم نے ایک پوسٹ ہے، اور صرف کک کے لئے، کی ایک اور پوسٹ داخل ہیں تو ہم نے ایک فہرست دیکھ سکتے ہیں. اور ان 2 پیغامات داخل، اور اب میں صفحہ کی تازہ کاری تو، ہم یہاں ان تمام خطوط کو دیکھنے کے. ہے کہ اب تک احساس ہے؟ جی ہاں، ایک سوال؟ ٹھیک ہے، اوہ. آپ دیکھ سکتے ہیں، ہم باہر ان تمام کوڈ کو علیحدہ کرنے کے قابل ہو گیا ہے مختلف حصوں میں، اور پھر آپ اسے دیکھنے کے کوڈ کے ساتھ سب سے زیادہ واضح ہے دیکھ سکتے ہیں. اس نقطہ نظر کی نمائندگی کرتا ہے کہ یہاں فائل، یہ صرف اعداد و شمار کی نمائش، کے اعداد و شمار کی نمائندگی کے بارے میں پرواہ. یہ اعداد و شمار کے کسی قسم کے منظور ہو جاتا ہے، اور یہ سب کرتا صرف آپ کو دکھانا ہوتا ہے. آپ کے کوڈ کے تمام دوسرے حصوں میں، آپ کو اس سے کسی کے بارے میں فکر کرنے کی ضرورت نہیں پڑے گی، اور اسی طرح، آپ کے نقطہ نظر کے کوڈ کے بارے میں کچھ فکر کرنے کی ضرورت نہیں ہے ڈیٹا بیس تک رسائی اور تو اور وغیرہ، کے لئے کس طرح جس میں بہت اچھا ہے اور آپ کے کوڈ بہت زیادہ قابل بناتا ہے. جیسے میں نے کہا، مناظر، وہ اس میں متحرک ہیں یہ 1 فائل ہے، لیکن یہ مختلف خیالات پیدا ہوں گے آپ اصل میں منتقل متغیر کی بنیاد پر، اور مزید برآں، مختلف مددگار افعال میں سے ایک بہت ہیں آپ کو، آپ کو تیزی سے آپ کے کوڈ کو لکھنے میں مدد کے لئے استعمال کر سکتے ہیں میں نے صرف ایک دوسرے میں تمہیں دکھاتا ہوں جس میں. جی ہاں. [Student کی] تو $ 0 دائیں، ایک کنٹرولر ہے؟ یہ دوسری بات. سوال $ 0 ایک کنٹرولر ہے؟ $ 0 میں یہیں پیدا ایک متغیر ہے. میں سب سے پہلے ایک نقطہ نظر پیدا. میں نے کچھ متغیر یہ تفویض. اس کے بعد میں، اس تقریب میں منظور جواب کے جسم کے طور پر مقرر. احساس ہے کہ ہے؟ [Student کی] تو دیکھیں :: فیکٹری ہے، ایک کلاس کی طرح قول ہے یا ایک لائبریری [اشراوی] فیکٹری تقریب؟ سوال، دیکھیں :: فیکٹری کی تقریب کے بارے میں ہے اور بنیادی طور پر یہ بنیادی طور پر کچھ اور آبجیکٹ اورینٹڈ پروگرامنگ ہے. "، فیکٹری" دیکھیے کلاس ہے، اور اس کے نام سے ایک طریقہ کار ہے اور اس کا نام ہے کہ اعتراض پر قبضہ کرنے کا ایک طریقہ ہے "بلاگ / انڈیکس." اور یہ کہ کچھ اور آبجیکٹ اورینٹڈ پروگرامنگ چیزیں میں نے بہت زیادہ یہاں میں جانے کے لئے نہیں جا رہا ہوں کہ. اب ظاہر ہے، ہم نئے پیغامات بنانے کے لئے چاہتے ہیں، لیکن ہم ایک ڈیٹا بیس کے ذریعے کیا کرنا ہے نہیں کرنا چاہتا، تو ہم نے ایک نئی پوسٹ بنانے کے لئے ایک نئی کارروائی بنانے کے لئے جا رہے ہیں، اور ہم نے کیا کرنا ہے سامان کی ایک بہت ہے. ہم کیا کرنے جا رہے ہیں سب سے پہلی چیز ہے - ان چیزوں میں سے ایک کی طرف سے ایک سے نمٹنے کے ہیں. ہم کیا کریں گے پہلی بات یہ ہے کہ ہم نے ایک فارم بنانے کے لئے ہے ہے ایک نئی پوسٹ ڈالنے کے لئے، لیکن میں نے بھی، سب سے پہلے ایک نئی کارروائی شامل کرنے کے لئے جا رہا ہوں تاکہ ایک نئے کارروائی انہوں نے مزید کہا کے طور پر آسان ہے آپ کنٹرولر کے ساتھ ایک نئی تقریب انہوں نے مزید کہا، اور اب کے لئے میں، بہت بنیادی کچھ کرنے کے لئے جا رہا ہوں صرف اس قول پر قبضہ اور پوسٹ، صرف آپ کے لئے ظاہر. اور اس کے بعد اب میں ایک نیا نقطہ نظر فائل بنانے کے لئے جا رہا ہوں، اور میں کچھ چیزیں لکھنا شروع کرنے جا رہا ہوں. کیا Kohana کے بارے میں اچھی بات ہے وہ مختلف مددگار کام کرتا ہے کے ایک بہت فراہم کرتا ہے آپ، زیادہ آسانی دیکھیے کوڈ لکھنے کے لئے ان مددگار کام کرتا ہے یا مدد گار ماڈیولز کے 1 کے ارد گرد فارم لکھ رہی ہے. فارم کو لکھنے کے لئے، میں واقعی میں براہ راست کسی بھی HTML خود کو لکھنے کے لئے کی ضرورت نہیں ہے. تم لوگوں کو HTML فارم میں لکھا ہے. تم یہ واقعی، واقعی بہت دردناک اور فارم میں لکھنے کے لئے پیچیدہ ہو سکتا ہے کس طرح جانتے ہیں. یہ تو خوش قسمتی سے، مذاق نہیں ہے ہم بنیادی طور پر Kohana کا استعمال کرتے ہوئے ایک شکل لکھ سکتے ہیں ہمارے لئے ایسا کرنے کے لئے مددگار کام کرتا ہے بنانے کے. ہم بنیادی طور پر ہم نے ہر ایک چیز کے لئے کھیتوں میں جا رہے ہیں تاکہ مصنفین کے لئے ایک اور اداروں کے لئے ایک. ہم نے ایک لیبل کے لئے جا رہے ہیں، اور ہم نے ایک ان پٹ جا رہے ہیں. اور پھر آخر میں، ہم نے ایک جمع کرانے کے لئے جا رہے ہیں. اور آپ دیکھ سکتے ہیں کے طور پر، یہ لکھنے کے لئے زیادہ سے زیادہ صاف ستھرا ہے اچھی قسم کا ہے جو کہ تمام گندا ایچ ٹی ایم ایل، سے زیادہ. عطا کی، اس سے یہ بھی صاف ہے کہ دوسری ویب فریم ورک موجود ہیں، لیکن کم از کم یہ HTML اپنے آپ کو لکھنے سے بہتر ہے. بہت اچھے، تو یہ آپ کو دیکھ کر کیا ہے. اس قسم کے گندا ہے تو میں نے وہاں ایک سطر توڑ شامل کرنے کے لئے جا رہا ہوں کہ تھوڑا اچھے نظر بنانے کے لئے. ٹھیک ہے، کورس کے، یہ اب بھی واقعی، واقعی بہت برا لگ رہا ہے، لیکن ہم صرف توجہ مرکوز کر رہے ہیں جمالیات پر اب اور نہیں کے لئے فعالیت پر. سب کچھ کرنے کا وقت نہیں. آپ دیکھ سکتے ہیں کے طور پر، اب ہم ایک سپر بنیادی شکل ہے، جس قسم کی اچھی ہے. میں کہیں گے اس کوڈ سے اپنے آپ کو بنانے کے ایک HTML لکھنے کی کوشش کر سے زیادہ صاف ستھرا ہے، تو یہ اچھی بات ہے. اگلے کیا ہے؟ اب ہم کارروائی کے ساتھ کام کرنے کی ضرورت. آپ کو HTML فارم لکھنا عام طور پر جب، آپ کو اس فارم کو جمع کرنے جا رہا ہے جہاں یہ بتانا ہے. زیادہ تر ویب فریم ورک میں ڈیفالٹ کی طرف سے، ، یہ بالکل وہی یو آر ایل پر پیش، تو بات ہے آپ کو / بلاگ / نئے، ایک حاصل کی درخواست ہے تو یہ آپ کے فارم ظاہر کرنا چاہئے، لیکن اگر آپ ایک پوسٹ کی درخواست بھیجنے پر / بلاگ / ڈیٹا کے ساتھ نئے، یہ اصل میں اس عہدے کو بچانے کے لئے کوشش کرنی چاہئے اور اس کے ساتھ کچھ کرنا. ہم کیا کرنے جا رہے ہیں بنیادی طور پر ہم سب اس کی ایک پوسٹ کی درخواست یا ایک حاصل کریں درخواست ہے کہ آیا چیک کرنے کے لیے کیا کرنا ہے تم مقرر کر سکتے ہیں پوسٹ متغیر ہیں کی جانچ پڑتال کرنے کے لئے ہے. پوسٹ متغیر مقرر کیا گیا ہے، تو ہم کوشش کرتے ہیں اور ایک نئی پوسٹ بنانے کے لئے جا رہے ہیں. ایک بار پھر، ہم صرف ایسا، اور یہ کہ ایک نئی پوسٹ پیدا کرتا ہے، اور ہم لفظی لئے جا رہے ہیں اس طرح اس کے کھیتوں میں قائم، اور پھر ہم اس کو بچانے کے لئے جا رہے ہیں. اور پھر میں ری ڈائریکٹ کرنے کے لئے جا رہا ہوں انڈیکس صفحے پر تو وہ خطوط کی ہماری فہرست میں ایک بار پھر دیکھ سکتے ہیں. کی کوشش کرتے ہیں. میں "، برینڈن"، کہیں گے اور پھر پوسٹ جمع کرائیں، اور سب کچھ ٹھیک جاتا ہے آپ دیکھ سکتے ہیں کے طور پر، یہ، انڈیکس صفحہ مجھ سے ری ڈائریکٹ میں نیچے سکرال اور اگر، ہم ایک نئے داخل پوسٹ ہے. YAY! جی ہاں، سوال. [Student کی] کیا آپ کو عین مطابق ایک ہی بات میں داخل تھا تو تم سے پہلے داخل ہوئے؟ اس بات کا یقین آپ کو نقل نہیں کیا ہے کرنے کے لئے چیک کرتا ہے اسی جمع کرانے کی؟ ڈیفالٹ ہو جائے، نہیں، کی وجہ سے پہلے سے طے شدہ کی طرف سے - اگر آپ فارم میں بالکل وہی اعداد و شمار میں درج کریں اگر معذرت، سوال یہ ہے کہ اور، یہ آپ کو ایک نقل اعتراض داخل کرنے کے لئے کی اجازت دے گا، کہ پیش ایک بنیادی طور پر، اندراج نقل؟ اب، جی ہاں، یہ آپ کو ایسا کرنے کی اجازت دے گا، ڈیٹا بیس میں یہ مکمل طور پر نقل قطار ہے بالکل درست ہے کیونکہ، کہ ایک تشویش ہے لیکن اگر، تو آپ کو مثال کے طور پر، validations کے شامل کر سکتے ہیں، اس کو پہلے ہی موجود ہے کہ کچھ کے طور پر بالکل ایک ہی ہے اس بات کو یقینی بنانے کے لئے، تو یہ ایک غلط چیز کا کہنا ہے کہ، اور پھر آپ کو بھی آپ کی غلطی پیغام وضاحت کر سکتے ہیں "یہ پہلے ہی موجود ہے، کیونکہ غلط" یا اس طرح کچھ اور، کا کہنا ہے کہ. لیکن اس معاملے میں، میں نے صرف نقل کچھ پیدا کر سکتا ہے. اب کوشش کریں اور کچھ validations کے شامل. اس کے ساتھ مسئلہ اب یہ ہے کہ میں لفظی ایک مکمل طور پر خالی پوسٹ کو جمع کر سکتے ہیں. میں اب اس بٹن کو کلک کر سکتے ہیں، اور ہم وہاں چلتے ہیں. تم سچ میں اسے دیکھ، لیکن نہیں کر سکتے ہیں یہاں اس اضافی لائن میں لفظی ایک نیا پیغام ہے کہ طرف اشارہ کرتا ہے. یہ صرف ایک خالی مصنف اور ایک خالی جسم ہے، اور ہم نے لوگوں کو ایسا کرنے کے لئے اجازت دینے کے لئے نہیں کرنا چاہتا. توثیق کے اندر آتا ہے جہاں یہ ہے میں اپنے ماڈل اعتراض پر جا سکتے ہیں، اور اب میں کی وضاحت ہے کہ ایک نئے تقریب شامل کر سکتے ہیں میں اس ماڈل میں شامل کرنے چاہئے توثیق قوانین یہ درست ہے کہ بات کو یقینی بنانے کے لئے یا وضاحت کرنے کے لئے کیا یہ ایک درست پوسٹ کرنے کے لئے مطلب ہے؟ اور میں یہ صرف ایک درست پوسٹ کا کہنا ہے کہ کرنا چاہتے ہیں تو مصنف اور جسم دونوں خالی نہیں ہیں، اور یہ آپ Kohana میں ایسا کس طرح ہے. آپ "کے قواعد،" نامی ایک نئے تقریب کی تخلیق اور پھر آپ کو بنیادی طور پر ایک ساہچری سرنی واپس کہ اس اعتراض کے لئے توثیق کے قوانین کی وضاحت کرتا ہے. ہم صف واپس جا رہا، اور اس کے بعد ہم کیا کرنے جا رہے ہیں کر رہے ہیں کا کہنا ہے کہ "مصنف،" یہ ایک صف پر جاتا ہے، جس میں کہا جاتا ہے ایک صف پر جاتا ہے "خالی نہیں." اور پھر میں کہنے جا رہا ہوں "جسم." اس کے لئے ٹھیک ہے، اور اس کے لئے نحو اور ساخت ایک چھوٹی سی پیچیدہ اور تھوڑا پیچیدہ نظر کر سکتے ہیں. آپ دستاویزات پڑھیں، تو یہ، کے اعداد و شمار بہت سیدھا ہے لیکن بنیادی طور پر یہ آپ کو وضاحت کرنے کے لئے کیا کرنے کی ضرورت ہے کچھ توثیق کے قواعد، اور مختلف قوانین کی ایک بہت ہیں آپ کا کہنا ہے کہ قواعد کے شامل کر سکتے ہیں کی طرح Kohana، مفت کے لئے آپ کو دے گا یہ کم از کم اس کی لمبائی ہونا ضروری ہے. شاید یہ عددی ہونا ضروری ہے. شاید یہ الفا عددی ہونا ضروری ہے. شاید یہ تو اور وغیرہ، زیادہ سے زیادہ اس کی لمبائی ہونا ضروری ہے. Kohana آپ کے لئے فراہم کرتا ہے کہ مختلف قوانین کی ایک بہت ہیں، اور آپ، دستاویزات پر نظر، ان کی ویب سائٹ پر جا سکتے ہیں اور آپ کیا کر سکتے ہیں ہے کہ تمام مختلف چیزیں دیکھ سکتے ہیں. لیکن اس میں کیا کرنا ہے ہے، اور اب دیکھتے ہیں کیا ہوتا میں نے ایک خالی پوسٹ جمع کراتے ہیں تو. کیا ہونے جا رہا ہے؟ اوہ، نہیں، میں نے ایک غلطی ملتی ہے. میں توثیق رعایت حاصل. ٹھیک ہے، یہ اچھی بات ہے. یہ میری ماڈل غلط ہے کہ مجھ سے کہا، لیکن میں نے ایک رعایت ظاہر کرنے کے لئے نہیں کرنا چاہتا اپنے صارفین کو وہ صحیح، غلط کچھ پیش کرنے کی کوشش کرتے ہیں؟ میں نے ان سے دوستانہ غلطی پیغام کے کچھ قسم دینا چاہتا ہوں کچھ غلط ہو جاتا ہے جب. ہم کیا کرنے جا رہے ہیں ہم جا رہے ہیں ہے ایک کوشش کو پکڑنے کے لوپ میں سب کچھ لپیٹ. اصل میں، میں یہ بھی آپ نے ابھی تک نہیں سیکھا ہے کچھ ہے CS50 میں، کیونکہ سی، پروگرامنگ زبان C، تقریبا ہر ایک دوسری زبان مستثنیات ہیں، لیکن نہیں ہے ، تو واقعی، واقعی مختصر مستثنیات، ہے ایک رعایت کوڈ کا ایک ٹکڑا سکتے ہیں کہ کچھ ہے کچھ غلط ہو جاتا ہے جب، ایک رعایت پھینک اپ لیکن پھر شاید کوڈ کے کچھ دیگر ٹکڑا اعلی رعایت ہے کہ پکڑنے کے لئے اور اس کے ساتھ کچھ کر سکتے ہیں. مثال کے طور پر، اس معاملے میں، ایک ماڈل کو بچانے کے لئے کوشش کر رہا ہے کہ کوڈ کا ٹکڑا، "، ٹھیک ہے، اس ماڈل باطل ہے" یہ ماڈل کی توثیق، اور اس کا کہنا ہے کہ اگر، یہ ایک رعایت پھینک رہا ہے، اور اس کے برابر کی قسم ہے C میں آپ کو ایک -1 یا اس طرح کچھ واپس کر سکتے ہیں. اور پھر میرے لئے، اس تقریب میں، اپنے کوڈ ایک اعلی سطح پر، میں نے اس رعایت کی کوشش کریں اور پکڑ کر سکتے ہیں اور بنیادی طور پر "ٹھیک ہے، میں رعایت کو پکڑنے کے اگر، جو میں کرنے جا رہا ہوں؟"، کا کہنا ہے کہ یا میں اس رعایت کو پکڑنے اور کسی کو زیادہ کرنے کے لئے نہیں منتخب کر سکتے ہیں رعایت پکڑنے، یا کوئی بھی اس پالے تو، پھر پورے پروگرام، گر کر تباہ اور کا کہنا ہے کہ "کچھ غلط ہو گیا، اور میں نے اسے سنبھال نہیں کر سکتے." لیکن کیا ہم کرتے ہیں، آپ ایک کوشش بلاک میں کوڈ کا ایک ٹکڑا لپیٹ ہے اور پھر آپ بھی ایک کیچ بلاک کہا جاتا ہے کچھ جس میں کوشش کرتے ہیں اور ہو سکتا ہے مستثنیات پکڑنے گا اس کوڈ کی طرح ہے. اور اس میں یہ خاص طور پر رعایت پکڑنے تو یا invalidation رعایت، تو کیا میں کرنے جا رہا ہوں میں غلطیوں کو قائم کرنے کے لئے جا رہا ہوں - میں اس میں ایسا کس طرح ہے - اور میں کچھ اعتراض کرنے کی غلطیوں کو قائم کرنے کے لئے جا رہا ہوں. اس رعایت مار دیتی ہے تو کیا میں کرنے جا رہا ہوں، یہ ری ڈائریکٹ نہیں کرتا تو یہ ری ڈائریکٹ کرنے کے لئے جا، اور نہیں ہے اگر یہ بلاگ سے باہر آ جا رہا ہے اور میں کیا کرنا چاہتے ہیں چاہتے ہیں ہے، اس بلاگ / نئے مارا. ایک خرابی آگئی ہے، تو میں نے فارم میں واپس جانا چاہتے ہیں اور ان غلطیوں کو ظاہر. اب میں کیا کرنا چاہتے ہیں میں ان کی غلطیوں میں منتقل کرنا چاہتے ہے دیکھنے کے لئے. ٹھیک ہے، میں، میں یہاں دیکھیں لگتا ہے اور بنیادی طور پر میں اگر وہ وجود ان غلطیوں کو ظاہر کرنے کے لئے چاہتے ہیں. میں اس کے لئے ایچ ٹی ایم ایل لکھنے سے پہلے، میں واقعی بہت تیزی سے جا رہا ہوں اس کی غلطیوں کی ساخت متغیر نظر کیا پسند ہے آپ کو دکھانے کے، اور یہ عام طور پر ایک اچھا عمل ہے. کئی بار آپ کو، کچھ طریقہ سے کچھ حاصل ویب فریم ورک میں کچھ تقریب، اور آپ، متغیر کی طرح لگتا ہے پتہ نہیں کیا تو آپ کو اس کے ساتھ کام کرنے کے لئے کس طرح نہیں جانتے. میں بنیادی طور پر اسے باہر پرنٹ کرنے کے لئے ایک پرنٹ R طریقہ استعمال کرنے کے لئے جا رہا ہوں. آپ دیکھ سکتے ہیں کے طور پر اور، یہ ایک ایسوسی ایٹ صف ہے مجھ سے کہتا ہے اور آپ کو، اس جملے کے لئے ایک اہم، مصنف، پوائنٹس ہیں مصنف خالی ہو، اور ایک اہم، جسم، نہیں ہونا چاہیے ایک سٹرنگ، جسم پر پوائنٹس خالی نہیں ہونا چاہئے. میں ڈاؤن لوڈ، اتارنا، ٹھیک ہے، کی طرح ہوں. پھر میں نے صف کے ذریعے iterate اور ہر ایک پیغام پرنٹ کر سکتے ہیں. یہ پیغامات کی ایک گروپ کے ساتھ ایک ساہچری سرنی کی طرح بنیادی طور پر ہے. میں کیا کرنے جا رہا ہوں "، اگر غلطیوں" ہے اور میں ایک بے ترتیب فہرست بنانے کے لئے جا رہا ہوں، اور میں تمام غلطیوں کے ذریعے iterate کرنے جا رہا ہوں. اور یہ، اور اب میں، پھر اس کو جمع کرنے کی کوشش کرنے جا رہا ہوں اور ہم کو ملتا ہے کیا دیکھتے ہیں. اب ہم غلطیوں کے یہ اچھا فہرست حاصل، اور، یہ اب بھی بہت بدسورت ہے، لیکن ظاہر ہے، یہ اچھی لگ رہی کرنے کے لئے فارمیٹ کیا جا سکتا ہے لیکن بنیادی خیال، صرف کوڈ کا ایک چند لائنوں میں ہے ہم ہمارے ماڈل کی توثیق کرنے کے قابل تھے، مخصوص شعبوں خالی نہیں تھے اس بات کو یقینی بنانے کے لئے، اور کچھ غلط ہو گیا، تو غلطی پیغام کے کچھ قسم کی واپس میں تو صارف کو واپس پیش کر سکتے ہیں. تم نے بھی آپ کی توثیق کے اپنی مرضی کے مطابق کر سکتے ہیں آپ اصل میں ایک غلطی پیغام ہو سکتا ہے تو وہ کہ آپ کی درخواست یا اس طرح کچھ کرنے کے لئے زیادہ مخصوص ہے. سب عام طور پر مرضی کے مطابق ہے. بدقسمتی سے، ہم، وقت سے باہر چلا رہے ہیں تو میں یہاں رہتے کوڈنگ سیشن کاٹ کرنے کے لئے جا رہا ہوں. میں آپ کے لئے مظاہرہ کرنے کے لئے چاہتے ہیں کہ دیگر خصوصیات میں سے ایک گروپ ہیں اس مثال میں. مثال کے طور پر، آپ کو آپ کی سائٹ پر سانچوں کے شامل کر سکتے ہیں، تو شاید آپ کو لاگو کرنے کے لئے چاہتے ہیں کہ ایچ ٹی ایم ایل کوڈ کے کچھ قسم ہے آپ کی ویب سائٹ میں ہر ایک صفحے پر، اور اس کی بجائے چسپاں کی ہے کہ ہر ایک نقطہ نظر فائل میں آپ کو، ظاہر ہے ایک بری پریکٹس ہو جائے گا جس، ہے آپ بنیادی طور پر ان سانچوں وضاحت کر سکتے ہیں، اور پھر اپنے کنٹرولر میں "ٹھیک ہے، میں اس سانچے کو استعمال کر رہا ہوں."، کا کہنا ہے کہ "میرے تمام خیالات اس سانچے کو استعمال کیا ہے." اور میں اس کے ساتھ ساتھ آپ کے لئے مظاہرہ کرنے کے لئے چاہتے ہیں ایک آخری بات ہم، کراس سائٹ سکرپٹ کے لئے وقت نہیں ہے کہ اور بنیادی طور پر میں تم لوگوں کو شاید CS50 میں دیکھا ہے لگتا ہے کہ - میں ڈیوڈ Malan شاید آپ عام طور پر انجیکشن کر سکتے ہیں کس طرح کے بارے میں بات لگتا ہے میں جاوا سکرپٹ کے کوڈ - آپ اس بارے میں بات کی ہے؟ شاید؟ ہو سکتا ہے کہ نہیں؟ لیکن وقت کی ایک بہت آپ کو بدنیتی پر مبنی جاوا سکرپٹ کے کوڈ انجیکشن کر سکتے ہیں کسی کے ڈیٹا بیس میں، اور وہ مناسب طریقے سے اس سے بچنے کے نہیں ہے تو، پھر وہ واپس صارف کو کہ اعداد و شمار پیش کرتے ہیں، اس کے بعد یہ آپ کو ہو نہیں کرنا چاہتے ہیں کے بے ترتیب جاوا سکرپٹ کے کوڈ کی کسی قسم کو چلانے کے کر سکتے ہیں، اور میں آپ کو Kohana کے اندر اندر ایسا تھا کس طرح مظاہرہ کرنے کے لئے جا رہا تھا. یہ اصل میں واقعی، واقعی آسان ہے. میں لفظی 2 سیکنڈ میں اب یہ کر سکتا ہے. تمہیں کیا کرنا ہے تمام بنیادی طور پر ان چیزوں کو لپیٹ ہے اس بات میں HTML اداروں سے ملاقات کی. اور یہ خود کار طریقے سے مناسب طریقے سے تمام حروف سے بچ جائے گا اور آپ کو اس مسئلہ کو حاصل نہیں ہے اس بات کا یقین. [طالب علم] غلط پہلے ٹیسٹ ہجے. [برینڈن لیو] افوہ، اوہ. ٹھیک ہے، کہ میں نے آج کے لئے آپ کے ساتھ اشتراک کرنے کے لئے تھا ہے. یہ سلائڈ تعینات کیا جائے جا رہے ہیں، لیکن یہ عام طور پر صرف وسائل آپ واقعی Kohana کے ساتھ شروع کرنے کے لئے کی ضرورت چاہئے. آپ کی ویب سائٹ پر جا سکتے ہیں. وہ ایک یوزر گائیڈ ہے، اور وہ بھی ایک API ایکسپلورر ہے. ہم نے آپ کے لئے ہے تمام مختلف کام کرتا ہے اور مددگار کام کرتا ہے کی کر سکتے ہیں. وہ عام طور پر ویب سائٹ پر کافی معلومات ہے، آپ کو شروع کرنے کے لئے اور Kohana کے ساتھ جا رہا حاصل کرنے کے استعمال کر سکتے ہیں. کہ بہت سے سبق سے باہر، Kohana کے لئے، مجھے لگتا ہے، نہیں ہیں کیا وہ یہاں کی ویب سائٹ پر ہے، تو شاید یہ تمہارا سب سے اچھا شرط ہے. لیکن آپ کے ویب فریم ورک کے ساتھ جانا چاہتے ہیں اور آپ کو ایک نئی زبان کو منتخب کرنے کے لئے نہیں کرنا چاہتے ہیں، اور آپ، نسبتا ہلکا پھلکا ہے اور ایک آسان سیکھنے وکر ہے کہ کچھ کرنا چاہتے ہیں میں ضرور Kohana تجویز کرے گا. یہ شاید اس کے لئے سب سے بہترین پیشکش ہے. ہم پٹریوں پر روبی کا استعمال کرتے ہوئے کر رہے تھے تو عجیب بات ہے، اگرچہ، ہے، ہم صرف کیا کیا نقل کیا جا سکتا ہے اور شاید 3 کے تحت منٹ میں زیادہ سے زیادہ. کوئی مذاق نہیں، لیکن پٹریوں پر روبی سیکھنے اب بہت لیتا ہے یہ Kohana جاننے کے لئے لے جائے گا کے مقابلے میں. یہ آپ کو جاننے کے لئے منتخب کرنے کے لئے چاہتے ہیں پر بنیادی طور پر آپ کی پسند ہے لیکن آپ کو اور فوری طور پر چل رہا ہے حاصل کرنے کے لئے چاہتے ہیں، Kohana یقینی طور پر ایک بہت اچھا انتخاب ہے. ہم آخر کوئی آخری سوال سے پہلے؟ جی ہاں. [Student کی] ہم کس طرح ہے کہ ضم کریں گے آپ کو ہدایت کی گئی تھی جب آپ استعمال کر رہے ہیں کی طرح ایک سی ایس ایس فریم ورک میں؟ سوال ہم کس طرح ایک سی ایس ایس فریم ورک کے ساتھ ضم ہے گا ہے؟ کیا ہم شاید نہیں کرے گا ہم شاید شامل ہوں گے ہے ہم اپنے تمام سی ایس ایس فائلوں کو پھینک گے جہاں ایک نیا فولڈر، اور پھر ہم بھی ایک نئے سانچے میں شامل تھا. سانچے میں ہم ان کی سی ایس ایس فائلوں کو شامل کروں گا وہ ہر ایک صفحے پر محولہ کر رہے ہیں اس بات کا یقین کرنے کے لئے، اور پھر آپ کو اصل میں ایچ ٹی ایم ایل لکھ رہے ہیں جب، آپ کو صرف مناسب کلاس اور whatnot شامل، اور مثال کے طور پر، جب آپ فارم کی طرح کچھ کا استعمال کرتے ہوئے کر رہے ہیں مددگار کی تقریب، آپ کو اس کے بعد زیادہ سے زیادہ پیرامیٹرز شامل کر سکتے ہیں آپ کو مختلف چیزوں کے ساتھ منسلک کرنا چاہتے ہیں کلاس کی وضاحت کرنے تاکہ وہ مناسب طریقے سے یہ سٹائل کر سکتے ہیں، اور یہ کہ آپ جائیں گے کس طرح بنیادی طور پر ہے. کوئی سوال؟ بہت اچھے. اپنے وقت کے لئے آپ کا شکریہ، اور آنے کے لئے آپ کا شکریہ. میں، بہت اور شامل کرنے کے لئے نہیں کیا گیا تھا لیکن اس کی 1 واقعی فوری بات ہے کہ ہم ایک لنک کی ضرورت نہیں ہے فارم. واقعی گونگا. کی ایک کو شامل کرتے ہیں - اصل نقطہ نظر میں، بلاگ، انڈیکس، نئے صفحے پر چلا جاتا ہے کہ ایک لنک شامل واقعی بہت تیزی سے چلو، ہم ایک نئی پوسٹ داخل کر سکتے ہیں صفحہ. ہم ایسا کرنے جا رہے ہیں. جو اچھی بات ہے ایچ ٹی ایم ایل مددگار کام کرتا ہے کے اس پورے گروپ وہاں ہے آپ کے لئے مختلف چیزیں ہیں، تو آپ کو پہلے ہی اداروں جس نے دیکھا "، لنگر" یہاں کام ہے، لیکن انہوں نے یہ بھی کہا جاتا ہے ایک تقریب ہے آپ کے بلاگ / نئے میں ٹائپ کر سکتے ہیں جو اور "ایک نیا بلاگ."، کا کہنا ہے کہ اور یہ آپ کے لئے اس لنک کو پیدا ہوں گے اور، ایسا کرنے کے لئے بہت چھوٹی سی ہے، لیکن یہ اچھا ہے آپ 1 ڈومین سے دوسرے کو اپنی ویب سائٹ پر منتقل کر رہے ہیں لگتا ہے کہ اس کی وجہ. اور آپ کو صرف یو آر ایل کو اپنے آپ کو باہر لکھا ہے، اس کے بعد آپ تمام یو آر ایل کو تبدیل کرنا پڑے گا. یا شاید آپ کو ایک اور ذیلی پوشے میں 1 ذیلی پوشے سے منتقل کر دیا گیا. آپ، ان تمام یو آر ایل کو خود کو تبدیل کرنا پڑے گا اور یہ کہ کوئی مزہ نہیں ہے. آپ، یہاں اس اینکر استعمال کر سکتے ہیں اور آپ کے ڈومین یا ذیلی پوشے سابقہ ​​تبدیل کر سکتے ہیں ، ایک بار ترتیب فائل میں اور، تو یہ ہے کہ ہر جگہ لاگو ہوں گے، اور یہ ایک بار پھر، ہے کی ایک عظیم مثال آپ کے کوڈ کے باہر خشک کرنے والی، اپنے آپ کو نہ دہرائیں. تم اپنے آپ کو بار بار کر رہے ہیں جہاں کہیں بھی، کوشش کریں اور ترتیب دینے کی فائل کی کسی قسم میں نکالنے یا ایک مختلف تقریب اور یہ آپ کے لئے ہے کہ ہینڈل ہے. اور میں آپ کو ظاہر کرنے کے لئے چاہتے تھے کہ آخری بات تھی ہم اس پوسٹ پر واپس آ گئے ہیں، اور میں کچھ واقعی طویل مضمون پر مشتمل تھا لگتا ہے، لیکن میں نے اپنے مصنف شامل کرنے کے لئے بھول گیا. اب میں "، پوسٹ جمع کرائیں" پر کلک کریں جب میں تو صرف سب کچھ کھو دیا. نہیں! واقعی دکھ. تو آپ کس طرح اس سے نمٹنے کے ہیں؟ یہ ہم کیا کرتے ہیں ہے. ہم کیا کرتے ہیں ان کی ان پٹ اور متن کے علاقے افعال کے لئے یہاں ہے، ہم ایک دوسرے پیرامیٹر، کہ دوسرا پیرامیٹر کی تو قیمت میں شامل ہیں میدان ابتدائی طور پر کے ساتھ آبادی جا رہا ہے کیا جا رہا ہے. کیا ہم کر سکتے ہیں ہمارے بلاگ کنٹرولر میں ہے، ہم ایک متغیر کو پابند کر سکتے ہیں. شاید یہ "اقدار" کہتے ہیں. اور لفظی، پوسٹ صف میں منتقل. اس، کی توثیق میں ناکام رہے تو اس کا مطلب مجھ میں گزشتہ پروپوزل کی طرف سے پیش کی کہ اس کے بعد صف کے پاس، اور اس طرح میں نے اپنے آخری جمع کرانے سے اقدار استعمال کر سکتے ہیں کھیتوں repopulate پر. اب میں اقدار مصنف کی طرح کچھ ایسا کر سکتے ہیں میں کچھ بے ترتیب چیزیں اور اگر اب جسم، اور اس طرح اہمیت اور پھر یہ وہاں رہتی ہے "، پوسٹ جمع کرائیں" پر کلک کریں. لیکن ہم ایک اور مسئلہ میں چلانے کے لئے جا رہے ہیں. میں صفحے پر بہت ہی پہلی بار جانا کہ اگر، کام کرتا ہے، لیکن یہ کریش ہو رہا ہے، اور یہ کہ بہت ہی پہلی بار کیونکہ ہم صفحے پر جانے، اس پوسٹ متغیر ابھی تک بیان نہیں کیا گیا ہے. یہ نل ہے. یہ موجود نہیں ہے. اس چابی موجود ہے اور کیا ہم کہنا چاہتے ہیں، ہے تو اس صف کی قیمت واپس، کلید موجود نہیں ہے تو پھر ایک خالی سٹرنگ واپس. یہی وجہ ہے کہ ہم یہاں چاہتے فعالیت ہے. ہم اہم سرنی تک رسائی حاصل کرنے کی کوشش کر رہا کرنے سے پہلے موجود ہے کی جانچ کرنا چاہتے، اور خوش قسمتی سے کافی، Kohana بھی ہم اس کے لئے ایک مدد گار تقریب فراہم کرتا ہے. وہ افعال میں سے اس پورے سوٹ ہے نام آمد کے تحت، مختصر صف کے لئے، انہوں نے کہا "، حاصل" کہا جاتا ہے 1 تقریب ہے اور آپ صف میں منتقل کر سکتے ہیں، اور آپ کو چابی کے نام پر منتقل کر سکتی ہیں. تو بنیادی طور پر کیا یہ کروں گا کہ یہ اہم حاصل کرنے کی کوشش کرے گا، لیکن اس اہم صف میں موجود نہیں ہے تو، ، مجھے یقین ہے، تو یہ خالی واپس آ جائیں گے، یا ہم بھی ایک پہلے سے طے شدہ وضاحت کر سکتے ہیں جس میں اچھا ہے. اب ہم ایک بار پھر ایک ہی بات کرتے ہیں، تو آپ کو، اس کے ارد گرد پہلی بار کام کرتا ہے اب دیکھتے ہیں اور پھر، ہم کچھ بے ترتیب چیزیں میں ٹائپ کریں تو اور پھر یہ وہاں رہتی ہے، کوشش کریں اور جمع کرائیں. اور میں بھی کس طرح واقعی بہت تیزی سے ایک ٹیمپلیٹ کو شامل کرنے کے لئے آپ کو دکھا سکتے ہیں لگتا ہے. ہم سب سے پہلے کر سکتے ہیں کیا ہے ہم "template.php" نامی ایک نیا نقطہ نظر شامل کر سکتے ہیں مناظر فولڈر کے اندر اندر، اور جو میں کرنے جا رہا ہوں "، مواد" میں کہا جاتا ہے کچھ باہر پرنٹ کرنے کے لئے جا رہا ہوں میرا بنیادی مواد کی جا رہی ہے جس میں. اور شاید بہت نیچے دیے گئے میں کہتا ہوں،، شامل کرنے کے لئے جا رہا ہوں حقوق نقل و اشاعت. [اشراوی طالب علم سوال] [برینڈن لیو] شاید اس میں استعمال کرنا چاہتے ہیں ایک سپر بنیادی ٹیمپلیٹ ہے. میں ہر ایک صفحے پر میرے کاپی رائٹ کے ساتھ ایک فولڈر ہے کرنا چاہتے ہیں، اور اب میں اپنے کنٹرولر کے اندر اندر کرنے کے لئے جا رہا ہوں بجائے اس کے کہنے کی اب ہے، "کنٹرولر توسیع" میں "، Controller_Template توسیع"، کہنے جا رہا ہوں بجائے اس کے کہنے کی اور اب، "جواب کے جسم، اس قول کے برابر ہے" میں، کا کہنا ہے کہ جا رہا ہوں "اس سانچے مواد ہے -" اور مجھے لگتا ہے - میں ایک ہی علامت ڈال دیا ہے؟ میں بھول گیا. جی ہاں، میں نے ایسا سوچا. اور اب میں مواد متغیر نقطہ نظر کے برابر کرنے کے لئے مقرر. میں یہاں بھی ایسا ہی کر سکتے ہیں. میں تازہ کاری کریں اور اگر اب، آپ، یہ کاپی رائٹ شامل ہے اب دیکھ سکتے ہیں اور صرف کچھ بے ترتیب مراسلہ بنانے، اور اس کے بعد، ایک بار پھر، آپ کو کاپی رائٹ کے صفحے کے نچلے حصے میں ہے دیکھنا چاہئے. عظیم. یہی وجہ ہے کہ میں تم لوگوں کو دکھانا چاہتا ہے. [تعریف] کوئی سوال؟ [CS50.TV]