کار کردن با آبجکتها :
یککلمه اسرارآمیزمعروفدربرنامهنویسی object-oriented programin در این قسمت در مورد عناوین زیر توضیح خواهیم داد.
اشیا چه هستند ؟
اجزا تشکیل دهنده اشیا چیست ؟
عملیاتی که میتوان بر روی اشیا انجام داد چگونه است ؟
اشیا پیش ساخته قابل دسترس asp چیست ؟
یک مجموعه چیست ؟
اشیا چه هستند ؟
در مورد ماشین خود فکر کنید یک آبجکت یک تکه نرمافزار قابل استفاده مکرر میباشد که شامل اطلاعات و توابع وابستهای باشد که چیزهای حقیقی را مهیا کنند.
چرا آبجکتها میتوانند در صفحههایی که مینویسید مفید باشند ؟
آبجکتها به افزایش سطح تجرد در صفحههایتان کمک مینمایند. به شما گفته میشود که به صورت تصادفی یک پرچم انتخابی را نمایش دهید. میتوانید در میان لیست پرچمها یکی را انتخاب کنید به این صورت که تابع random که اعداد تصادفی تولید میکند را اجرا کرده و سپس کدی را برای <ImG SRC = …> بنویسید.
میتوانید تمام این کارها را هر زمان که میخواهید یک پرچم را نمایش دهید انجام دهید. امّا سادهتر آن است که تمام کارهایی را که میخواهید انجام شود در داخل یک آبجکت که یک پرچم را به صورت تصادفی نمایش میدهد بنویسید.
بعد از این کار احتیاج دارید به اینکه فقط چیزی مانند RANDOM BANER را بنویسید پس از آن اگر بخواهید به سیستم نمایش پرچم خود چیزی را اضافه یا تغییری دهید فقط احتیاج دارید که یک تکه از کد را تغییر دهید.
و حتّی بهتر آن است که به دنبال آبجکتهایی بگردید که اشخاص دیگر آنها را نوشتهاند و شما نیز میتوانید در برنامة خود از آنها استفاده کنید.
استفاده از توابع در سادهتر کردن و خواناتر کردن کدهایتان کمک میکند و آبجکتها نیز که در سطح بعدی قرار دارند همین مزایا را دارند.
ساختن بلاکهایی از آبجکتها :
آبجکتهای برنامهنویسی از چیزهایی تشکیل شدهاند که آبجکتها را توصیف میکنند و چیزهایی که آبجکتها با آنها میتوانند کارهایی را انجام دهند. چیزهایی که آبجکت را توصیف میکنند PROPERTIES نامیده میشوند.
خصوصیّات PROPERTIES :
خصوصیّات یک آبجکت را توصیف میکنند.
اگر یک آبجکت داشتید که پرچمها را به صورت تصادفی نمایش میدهد ممکن است که خصوصیّاتی برای نمایش چیزهایی مثل URL یک کاربر وقتی که پرچم در حال نمایش است را داشته باشید که ممکن است برای پرچمهای مختلف تغییر کنید همچنین میتوانید خصوصیّاتی برای نمایش طول و عرض تصویر داشته باشید که ممکن است برای تمامی پرچمها یکسان باشد.
در برنامهنویسی خصوصیّات همانند متغیرها کار میکنند میتوانید به خصوصیّات یک آبجکت به روش زیر دسترسی پیدا نمایید :
ObjectvariableName.property
پس اگر متغیر از نوع آبجکت به نام objlesson با یک خصوصیّت به نام Name داشتید میتوانید مقدار خصوصیّت Name را به روش زیر تنظیم نمایید :
<%objlesson.Name = "joe" %>
و میتوانید مقدار خصوصیّت Name را به صورت زیر چاپ کنید :
< %Response.write(objlesson.Name) = %>
بعضی از خصوصیّات پنهان میباشند. خیلی چیزهای را که در ساختن بیشتر آبجکتها به کار رفته است را نخواهید دانست. برخی خصوصیّات ممکن است برای شما پنهان باشد این مسئله اهمیّتی ندارد از آنجا که شما از مستندسازی استفاده میکنید احتیاجی به دیدن همه چیزها ندارید.
متدها :
متد عبارت است کارهایی که میتوانید با یک آبجکت انجام دهید. متدهای مرتبط با برنامهنویسی با آبجکتها نیز احتیاج به اطلاعات دارند. توابع و سابروتینها این اطلاعات را از طریق آرگومانها دریافت میکنند. بنابراین متدها نیز همین کار را انجام میدهند. متدها مانند توابع ممکن است صفر یک یا تعداد بیشتری آرگومان داشته باشند. متدها از مقادیر دریافت شده خصوصیّات استفاده مینمایند همچنین متدها مقادیر خصوصیّات را میگویند. آنها این کار را به وسیلة برگرداندن مقادیر به همان صورت که توابع مقادیر را برگشت میدهند انجام میدهند. متدها میتوانند به صورت زیر مورد دسترسی قرار گیرند :
objectvariableName.method
بیشتر متدها رفتاری دارند شبیه به توابع و سابروتینها. اگر یک متد به نام GO را در آبجکتی به نام objlesson فراخوانی نمایید و آن یک مقدار را برگرداند میتوانید مقدار را در یک متغیر مانند زیر ذخیره نمایید :
Myvariable = objlesson .GO
یا مقدار مزبور را بر روی مرورگرتان به صورت زیر نمایش دهید.
Response.write(objlesson.GO)
اگر متد دیگری به نام compute که یک سری آرگونهای عددی را میگیرد میتوانید نتیجه به دست آمده را بر روی صفحه به صورت زیر بنویسید :
Response.write (objlesson.compute(4.5))
یا
Response.write (objlesson.compute(sngmyNumber))
پس همان طوری که مشاهده میکنید فرق زیادی بین یک متد آبجکت و یک تابع وجود ندارد مانند خصوصیّات متدها نیز ممکن است مخفی باشند.
آبجکتهای پیش ساخته ASP :
• آبجکت Response :
Response برای فرستادن مقدار به خروجی مورد استفاده قرار میگیرد. متد write خروجی را به مرورگر کاربران وب ارسال مینماید. آبجکت Response همچنین میتواند کنترل کند که چه طور و کی اطلاعات فرستاده شوند و کوکیها به عنوان اطلاعات ذخیرهای نوشته شوند.
• آبجکت Resquest :
این آبجکت برای گرفتن اطلاعات از client مورد استفاده قرار میگیرد وقتی که مرورگر وب سرویس گیرنده تقاضای یک صفحه ویژه را مینماید این آبجکت حجمی از اطلاعات را برای سرویس دهنده ارسال میکند.
این اطلاعات در داخل آبجکت Request بستهبندی میشوند. مقداری از این دادهها برای صفحه درخواست شده مفید میباشند و بقیه ممکن است مفید نباشند آبجکت Request به صفحات اجازه میدهد که اطلاعات مورد نیاز خود را دریافت نمایند.
• آبجکت Aplication :
آبجکت Application به منظور اشتراک اطلاعات بین چندین سرویس گیرنده که از یک صفحه بازدید مینمایند مورد استفاده قرار میگیرد. در ASP واژه Application به همة صفحات با پسوند asp اشاره دارد که در یک دایرکتوری قرار دارند و آنها زیر دایرکتوری آن دایرکتوری میباشند. تنها یک نمونه از آبجکت Application در هر Application ایجاد میشود.
این آبجکت بین همه سرویس گیرندههایی که به Application دسترسی پیدا میکنند به اشتراک گذارده میشود.
• آبجکت Session :
یک session به دسترسی یک سرویس گیرنده به یک Application اشاره دارد. بنابراین یک نمونة جدید از آبجکت session برای هر session ایجاد میگردد. Session برای حمل اطلاعات مفید میباشد و مثل یک سرویس گیرنده بین صفحات حرکت میکند. زیرا متغیرهای آبجکت session برای تمام session ثابت باقی میماند. یک صفحه میتواند دادهها را در داخل مغیر session ذخیره نماید و آن داده میتواند به وسیلة صفحات دیگر مورد دسترسی قرار بگیرند.
• آبجکت Server :
آبجکت Server چندین خصوصیّت پایه و متد را فراهم میکند. احتمالاً مهمترین آنها متد createobject میباشد. متد createobject برای ایجاد یک نمونه از اجزا server به کار میرود. کامپوننتها بستههای وابسته آبجکتها میباشند که شما میتوانید صفحههایتان از آنها استفاده نمایید. آنها کارهای عادی ASP را سادهتر میکنند و قدرت زیادی به صفحهها میدهند. createobject در ارتباط با مجموعه عباراتی مثل زیر مورد استفاده قرار میگیرد :
< % set objInstance = Server.createobject("class.component")%>
خصوصیّت scriptTimeout میتواند برای تعیین طول زمانی که اسکریپت قبل از ایجاد یک خطا اجازه اجرا شدن را دارد مورد استفاده قرار گیرد.
< % server.scriptTimeout = 90 % >
این خصوصیّت معیّن میکند که اگر اسکریپت بعد از 90 ثانیه هنوز در حال اجرا شدن میباشد باید بسته شده و یک پیغام خطا ایجاد گردد.
HTMLEncode و URLEncode دو متدی میباشند که عمل کد کردن را به یک رشته انجام میدهند.
HTMLEncode در طول رشته حرکت میکند و به جای کاراکتر "<" کاراکتر "≪" و به جای کاراکتر ">" کاراکتر "&g&;" را جایگزین مینماید.
این عمل سبب میشود که مرورگر وب به جای این که tagهای HTML را مورد تفسیر قرار دهد آنها را کلمه به کلمه به صورت متن نمایش دهد. برای مثال :
< % server.HTMLEncode ("< P align = right >") % >
رشتة زیر را برمیگرداند.
"&1 t; P align = right & gt;"
که مرورگر وب به جای نمایش tag مربوط به < P align = right > عبارت مزبور را نمایش میدهد. این کار وقتی مفید است که شما بخواهید سورس کد HTML مربوط به صفحة خود را مشاهده نمایید.
متد URLEncode عمل کد کردن را بر روی URL صورت میدهد. اغلب شما قصد دارید که یک مقدار داده را به صفحات دیگری از همان بخش از URL مورد استفادة کنونی عبور دهید. این عمل از طریق query string صورت میگیرد.
کاراکترهای ویژه ampersand (&) مانند معنای مخصوصی را در query string دارند و اگر از آنها در داخل اطلاعاتتان استفاده کنید ایجاد اشکال مینماید. با استفاده از متد URLEncode میتوانید دادههای مورد نظر را کدگذاری کنید تا دادهها به سلامت به عنوان بخشی از query string به جاهای دیگر عبور داده شوند.
متد Mappath یک مسیر مجازی را تبدیل به یک مسیر فیزیکی مینماید بنابراین اگر اسکریپ در مسیر :
C:\mypage\www\,server.Mappath("scripts\test.asp")
میباشد مقدار برگشتی به صورت :
C:/mypage\www\scripts\test.asp
خواهد بود. آبجکتهای متنوّعی مانند Filesystemobject ممکن است مسیرهای مجازی نیاز به مسیرهای فیزیکی داشته باشند.
• آبجکت Objectcontext :
آبجکت objectcontext به منظور اتصال ASP و Microsoft transaction مورد استفاده قرار میگیرد.
MTS به منظور ساختن سایتهای وب اندازهپذیر مورد استفاده قرار میگیرد و کارایی دیگر اجزا را بالا میبرد این آبجکت یکی از ابزار پیشرفته میباشد.
• آبجکت AspError :
آبجکت یک ویژگی جدید در میباشد. این آبجکت به شما اجازه میدهد تا در مورد خطاهای اسکریپت ایجاد شده در صفحههایتان اطلاعاتی را به دست آورید.
طریقة استفاده از آبجکت Response :
آبجکت Response چیست ؟
آبجکت Response یکی از شش آبجکت پیش ساخته در ASP میباشد. آبجکت Response به منظور ارسال خروجی به سرویس گیرنده مورد استفاده قرار میگیرد. این خروجی ممکن است متنی نمایشی در پنجره مرورگر یا اینکه چگونگی فرستاده شدن صفحات به سرویس گیرنده و ذخیره شدن آن باشد.
تشریح آبجکت Response :
آبجکت Response به شما اجاه میدهد که اطلاعاتتان به مرورگر ارسال شده و چگونگی ارسال اطلاعات به مرورگر را کنترل مینماید. این آبجکت دارای چندین متد و خصوصیّت است.
ارسال HTML به مرورگر :
بیشترین کاربرد آبجکت Response ارسال داده به مرورگر وب سرویس گیرنده برای نمایش به عنوان بخشی از یک صفحة وب میباشد.
این آبجکت به دو روش این کار را انجام میدهد. اوّلین روش استفاده از متد write میباشد. روش دیگر استفاده از میانبر < % = … % > است.
Response.Write
بدون این آبجکت ASP بدون استفاده میباشد. اگر چه ما همیشه از پرانتزها با Response.write استفاده کردهایم امّا آنها در اصل اختیاری میباشند : عبارات Response.write (expression) و Response.write expression معادل هم میباشند.
یکی از ویژگیهای مهم استفاده از Response.write این است که رشتهای که در مقابل این آبجکت نوشته میشود نمیتواند شامل " % > " باشد. اگر میخواهید رشتهای که شامل " % > " میباشد را استفاده نمایید از " % \ > " استفاده کنید از آن جایی که از علامت % > برای نشان دادن پایان یک لاک از کد ASP استفاده میکنید گذاردن آن در داخل رشته باعث سردرگمی سیستم میشود.
Response.write (" <HR WIDTH = 50% >" )
ایجاد خطا میکند زیرا سرویس دهنده علامت " % > " را به عنوان بسته شدن بلاکی از کد ASPفرض میکند.
Response.write (" <HR WIDTH = 50% \ > ")
عبارت :
" <HR WIDTH = 50% > "
را به کد HTML مینویسد.
فرمها چیستند ؟
وقتی که شما یک صفحة وب را بازدید میکنید مرورگرتان بر روی client یک درخواست را برای سرویس دهنده وب برای درخواست یک صفحه وب به خصوص ارسال میکند.
سرویس دهنده وب در جواب سند درخواست شده را برای سرویس گیرنده ارسال مینماید. وقتی درخواست مربوط به یک صفحه ASP میباشد سرویس دهندة وب ابتدا کدهای موجود در صفحة ASP را قبل از ارسال صفحة وب به سرویس گیرندة مورد پردازش قرار میدهد. حال اگر ما بخواهیم که صفحة ASP ما بر پایة ورودی کاربر تصمیمگیری نماید نیاز به استفاده از فرمها را داریم.
یک فرم دو وظیفه دارد: جمعآوری اطلاعات از کاربر و فرستادن آن اطلاعات به یک صفحة وب دیگر برای انجام عمل پردازش بر روی آنها.
بنابراین با استفاده از فرم یک صفحه ASP میتواند ورودیهای کاربر را دریافت نماید و تصمیمهای برنامهریزی شدهای را بر روی آن ورودیها اعمال نماید.
فرمها یک مکانیزم عبور اطلاعات از یک صفحة وب به صفحة دیگر را فراهم نمایند. فرمها همچنین به کاربران اجازة وارد کردن جزئیات اطلاعات را با استفاده از متغیرهای ورودی میدهند.
ایجاد فرمها :
ایجاد یک فرم کاری ساده و راحت میباشد. این کار تنها نیاز به دو خط از کد HTML دارد.
1 : <FROM METHOD = POST ACTION = "somepage .asp">
2 : </FROM >
• تگ METHOD :
تگ METHOD میتواند به GET یا POST تنظیم گردد.
• تگ ACTION :
تگ ACTION تعیین میکند که قوتی فرم پر شد چه صفحهای فراخوانی شود. معمولاً در این حالت یک صفحه فراخوانی میشود که اطلاعات ورودی کاربر را پردازش مینماید.
یک فرم وقتی SUBMIT شده است که کاربر آن را به وسیلة خاتمه دادن به ورود اطلاعات به وسیلة کلید کردن بر روی دکمه تأیید نماید. اگر تنها یک فیلد ورودی در داخل فرم موجود باشد همانند Text box کاربر میتواند به سادگی با فشردن کلید Enter فرم را SUBMIT نماید.
عمل Submit فرمها :
با استفاده از یک مرورگر وب استاندارد کاربر میتواند در داخل صفحه وب که ئارای یک فرم میباشد با وارد کردن اطلاعات به گشت و گذار بپردازد. وقتی کاربر این کار را انجام میدهد اطلاعاتی که او در حال تایپ کردن میباشد هنوز برای سرویس دهندة وب ارسال نشده است.
این اطلاعات برای سرویس دهنده وب تا زمانی که کاربر به وسیلة کلیک کردن بر روی دکمة submit فرم اطلاعات را تایید ننماید قابل دسترسی نمیباشد. کارمان وقتی جالب میشود که قادر باشیم تا از روی این اطلاعات ارسال شده به یک صفحة ASP تعیین نماییم که کدام کاربر اطلاعات را داخل فرم وارد کرده و سپس بر روش اطلاعات پردازش را انجام دهیم. تگ <FROM> دارای دو خصوصیّت میباشد که به شما اجازه میدهد تا بر روی اطلاعات فرستاده شده به خصوصیّت ACTION و خصوصیّت METHOD.
استفاده از خصوصیّت ACTION :
با خصوصیّت ACTION یک فرم میتوان هر URL معتبری را تنظیم نمود. وقتی کاربر فرم را submit مینماید URL تعیین شده در خصوصیّت ACTION فراخوانی میگردد و مقادیر موجود در فیلدهای فرم به آن URL ارسال میگردند.
نکته : اجباری در این که خصوصیّت ACTION به یک صفحة ASP تنظیم شود وجود ندارد خصوصیّت ACTION میتواند به هر نام صفحة وبی روی سرویس دهندة وب یا به یک اسکریپت بر روی سرویس دهندة دیگر تنظیم شود یا به صورت کامل حذف شود.
توجّه نمایید که اگر شما خصوصیّت ACTION را برای یک فرم تعیین
نکنید وقـتی یـک فـرم را submit میکند صفحة فعلی دوباره بارگذاری
میشود.
خصوصیّت دو فرم METHOD نام دارد و میتواند به GET یا POST تنظیم شود.
METHOD تعیین میکند که مقادیر فیلدهای فرم چگونه به صفحة ASPای که در خصوصیّت ACTION فرم تعیین شده است عبور داده شوند.
تفاوت بین GET و POST :
دو راه برای عبور اطلاعات از یک فرم به یک صفحة ASP وجود دارد. اوّلین متد استفاده از query string میباشد.
این متد وقتی مورد استفاده قرار میگیرد که خصوصیّت METHOD فرم به GET تنظیم گردد. متد دیگر POST اطلاعات کاربر را با استفاده نکردن از query string پنهان میکند.
آبجکت SESSION :
آبجکت session یک آبجکت داخلی ASP میباشد که برای پایدار نگهداشتن شبکه بر مبنای user-by-user طراحی شده است به هر کاربر آبجکت session مخصوص به خودش داده میشود.
از آن جایی که هر کاربر آبجکت session مربوط به خودش را دارد داده منحصر به فرد هر کاربر ذخیره میشود. اینکه آبجکت session را یک انبار در نظر بگیریم فکر خوبی میباشد. وقتی هر کاربر جدیدی وارد سایت میشود به انبار خودش وارد میشود در سراسر سایت هر صفحه ASP میتواند اطلاعات داخل انباری کاربر را دریافت یا وصل نماید.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 32 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله فروشگاه اینترنتی