صفحه 1 از 5 123 ... آخرآخر
نمایش نتایج 1 تا 40 از 199

نام تاپیک: مقایسهء عملی ASP.NET و PHP با نمونه کد

  1. #1

    مقایسهء عملی ASP.NET و PHP با نمونه کد

    بسمه تعالی.
    این تاپیک آغاز میشود.
    هرچی بروبچ محل دارید برید صدا کنید بیان تو که طرفدارای دات نت و پی اچ پی میخوان قشون کشی کنن
    نه حالا شوخی میکنم ولی بهرحال بنده از بقیهء حرفه ایهای ASP.NET تقاضای کمک خواهم کرد چون تنهایی ممکنه نتونم بقدر کافی جوابگو و مطرح کنندهء موارد باشم؛ بخصوص با توجه به اینکه تازه کار هستم و هنوز یادگیری دات نت رو هم تموم نکردم و تجربهء عملی خاصی هم ندارم.

    خب دیگه عجله نیست. انشاا... سرفرصت برمیگردم و شروع میکنیم و کم کم یا تند خلاصه هرجوری که شد پیش میریم. دیگه بیکار هم نیستیم که 24 ساعته بخوایم اینجا باشیم. شاید مثلا برم چند روز بعد یا یک هفتهء دیگه یا حتی دیرتر برگردم به این تاپیک و بحث.

    ضمنا تاپیک آزاد هست و بنده شباهت و تمایل زیادی به لیبرالیست ها دارم. واسه همین هرکس میخواد از نظر بنده اشکالی نداره هرچی میخواد مطرح کنه از PHP و دات نت. البته در چهارچوب تعریف و هدف تاپیک که مقایسهء روش انجام کارها در دات نت و PHP هست با نمونه کد.

    موفق باشید.

  2. #2

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با سلام، بنده هم موافقم که از این بحث به منظور افزایش دانش خودمون استفاده کنیم و نمونه کد / سایت با یکی از این دو مورد (PHP و ASPdotNET) ارائه بشه و معادل اون در طرف مقابل درخواست بشه.
    موفق باشید.

  3. #3
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط eshpilen مشاهده تاپیک
    بخصوص با توجه به اینکه تازه کار هستم و هنوز یادگیری دات نت رو هم تموم نکردم و تجربهء عملی خاصی هم ندارم.

    خب دیگه عجله نیست. انشاا... سرفرصت برمیگردم و شروع میکنیم و کم کم یا تند خلاصه هرجوری که شد پیش میریم. دیگه بیکار هم نیستیم که 24 ساعته بخوایم اینجا باشیم. شاید مثلا برم چند روز بعد یا یک هفتهء دیگه یا حتی دیرتر برگردم به این تاپیک و بحث.


    موفق باشید.
    ببینید این چیزی که شما گفتید یعنی ASP انتها داره و یکی می تونه تکمیل شه

    ولی ولی ولی

    لاکردار PHP انتها نداره و هر چی یاد بگیری بازم کمه ( من جنگ رو شروع می کنم )

  4. #4

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    PHP رو که خیلی وقت پیش تموم کردم

    البته درسته PHP جذاب و گسترده هست. البته نه خودش دقیقا، بلکه بخاطر اینکه خیلی چیزها رو خودتون پیاده سازی میکنید و از طرف دیگه در دنیای بازمتن هم تنوع و تعدد زیادی وجود داره. باید بگیم بطور کلی برنامه نویسی اینطوری هست که انتها نداره. شما با زبانهای دیگری هم میتونید همینطور بی انتها پیش برید. حتی با همون دات و سی شارپ هم میتونید پیش برید و خیلی چیزهای فراتر از نیازهای روزمره و تجاری رو پیاده سازی کنید. اما خب دات نت طوری هست که کسی واسه این کارا سراغش نمیره معمولا (جز همونایی که فریمورکش رو گسترش میدن) و هدف اون انجام راحت و سریع کارهای روتین و استاندارد هست. و البته در این هدف بنظرم خیلی هم کاراست.
    کسی که دات نت کار میکنه لزوما به این زبان و فریمورک خودش رو محدود نمیکنه. بلکه برای انجام اون بخش از کارها و اهداف که دات نت بصورت ویژه برای راحت کردن و سرعت و کیفیت و امنیت انجام اونها طراحی شده ازش استفاده میکنه. دات نت یه ابزار تجاری هست برای پول درآوردن برنامه نویسان تجاری و راه انداختن بیزینس های متداولی که نیاز به ابزارهای عمومی و خصوصی استاندارد خودشون دارن.

  5. #5

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    ضمنا همین PHP که میگید، آدم بعضی وقتا بدجوری بخاطر محدودیت هاش توش گیر میکنه.
    مثلا وقتی بحث مالتی ترد پیش میاد هیچ راه ساده و قشنگی بعنوان معادلش در PHP وجود نداره و آدم رو بدجور مایوس میکنه.
    و خودتون میدونید مالتی ترد به جای خودش چقدر زیبا و کاراست.
    یا مثلا در PHP تحت وب شما نمیتونید سایت/اپلیکیشن یا بخشی از کدتون یا عملیات خاصی رو تحت کاربر خاصی روی سیستم اجرا کنید، اما تاجایی که دیدم این امکان در دات نت وجود داره. و این ویژگی هم کاربردها و مزایای امنیتی خودش رو داره.

  6. #6
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    شما می گید من php رو تموم کردم و بنده هم عرض کردم !! تمومی نداره

    شما هر روز از php چیز میز جدید یاد می گیرید و یا چیزایی که وابسطه به php هستند و با php مخلوط بشن یه چیز شیکی در میاد.

    شما هر چیزی که می گید با php نمی شه این کار رو کرد من می گم می شه اون رو انجام داد ، با php هر کاری که مربوط به وب هست می شه انجام داد (حالا یا سخت یا آسون)

    شاید با asp یه چیزایی رو راحت تر انجام می نویسید و ولی با php مـــــــــــــــی تونید اون رو سخت تر بنویسید

    خوبی php این هست که وقتی برنامه نویسیش رو طرف درک کنه و بتونه یه ایده و یک هدف رو پیاده سازی کنه تمامه.
    همین بازی تراوین رو ببین : با php ساختن ، آیا می شد به این زیبایی و دقیق با asp در بیارن !! اصلا چرا با asp ننوشتن . وقتی یه طرف میاد بازی می کنه ، به طور کلی معتاد می شه و می تونید ببینید که چقدر داره پول می گیره (هدف و ایده ی خوب)

    خلاصه بگم - ASP به گرد php هم نمی تونه برسه

    وسلام

  7. #7
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    باسلام:
    من خودم بر هردو زبان تسلط کافی دارم و تا اونجایی که دانش داشته باشم سعی میکنم توی این پست راهنمایی کنم.(البته اول با PHP شروع کردم)
    در ضمن سعی میکنم در هر مورد نقاط ضعف و قدرت رو در هردو زبان بیان کنم.

    با این نظر موافقم که PHP انتها نداره و هروز به توابع و در کل قدرتش اضافه میشه.
    اما پشتیبانی بزرگترین شرکت نرم افزاری دنیا یعنی ماکروسافت رو هم نباید فراموش کرد که دات نت رو پشتیبانی میکنه.

  8. #8

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    دوستان از حیطهء این تاپیک کاملا خارج شدیم.
    در اینجا فقط روش پیاده سازی کارهای مختلف رو بین این دو زبان/فریمورک میخوایم با نمونه کد عملی مقایسه کنیم.
    بحثهایی از این دست که شما دارید میکنید جاش توی اون یکی تاپیک هست.
    مواردی هم که مطرح میکنید بنظر بنده بهتره بیشتر به برنامه نویسی تجاری متداول، یعنی سایتها و اپلیکیشن های وب در سطح عادی، مرتبط باشه.
    حالا اصرار دارید موارد دیگری رو مطرح کنید خود دانید؛ ولی بنظر بنده مفید نیستن. از اولشم بحث من روی کارهای خیلی بزرگ یا خاص نبوده. بلکه روی عمدهء فعالیت عادی بیشتر برنامه نویسان بوده.

  9. #9
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط eshpilen مشاهده تاپیک
    دوستان از حیطهء این تاپیک کاملا خارج شدیم.
    در اینجا فقط روش پیاده سازی کارهای مختلف رو بین این دو زبان/فریمورک میخوایم با نمونه کد عملی مقایسه کنیم.
    بحثهایی از این دست که شما دارید میکنید جاش توی اون یکی تاپیک هست.
    مواردی هم که مطرح میکنید بنظر بنده بهتره بیشتر به برنامه نویسی تجاری متداول، یعنی سایتها و اپلیکیشن های وب در سطح عادی، مرتبط باشه.
    حالا اصرار دارید موارد دیگری رو مطرح کنید خود دانید؛ ولی بنظر بنده مفید نیستن. از اولشم بحث من روی کارهای خیلی بزرگ یا خاص نبوده. بلکه روی عمدهء فعالیت عادی بیشتر برنامه نویسان بوده.
    شما که این پست رو راه انداختید شروع به گزاشتن کدها کنید تا مقایسه رو شروع کنیم.

  10. #10

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    باشه سرفرصت شروع میکنم دیگه. عجله دارید انگار!
    البته من تاپیک رو زود استارت کردم گفتم شاید دیگران بخوان چیزی رو مطرح کنن. از تاخیر بیخودی خوشم نمیاد. بقول معروف باید تا تنور داغه نون رو چسبوند

  11. #11

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با سلام، شما هم كه ما رو با اين Multi-thread كشتين! آخر هم نفهميديم كاربردش توي وب كجاست كه نشه با AJAX معادلسازيش كرد! حالا جداي از اين بحث كه به قول شما جاش توي تاپيك ديگه هست، نمونه كد بگذارين كه شروع كنيم.
    موفق باشيد.

  12. #12

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    بنام خدا این بحث فوق العاده خفن را با اولین نمونه کدها شروع میکنیم

    بنده مناسب دیدم اول امکانات/روش ولیدیشن ورودیهای کاربر در دات نت رو نشون بدم. چون بهتر دیدم از یک مثال که جزو بزرگترین و پیچیده ترین امکانات در دات نت نیست شروع کنم و ببینیم چی میشه و بحث چطوری پیش میره تا بعدا انشاا... برسیم به موارد دیگه.

    خب بنده تا الان تا فضای نام System.Web.UI.WebControls در دات نت رسیدم (خوندن رفرنس کلاسهای دات نت رو از ابتدا شروع کردم) و هنوز جلوتر نرفتم، ولی تمام وب کنترل های ولیدیشن باید در همین فضای نام باشن.
    این وب کنترل ها که بصورت کلاس هستن اینها هستن:
    CompareValidator برای مقایسهء مقدار دو ورودی در فرم با همدیگر یا مقایسهء مقدار یک ورودی با یک مقدار ثابت بکار میره. مثلا ورودیهای پسورد و تکرار پسورد در یک فرم ثبت نام رو میتونیم با این کنترل مقایسه کنیم که اگر برابر نبودن پیام خطا بده و چنانچه مثلا جاوااسکریپت کاربر غیرفعال بود و فرم باوجود مشکل در مقدارهای ورودی سابمیت شد، در سمت سرور هم این خطا تشخیص داده بشه.
    خوبی وب کنترل های ولیدیشن دات نت اینه که شما فقط پارامترهای اونا و ورودیهای فرم مورد نظر رو تعیین میکنید و بقیهء کارها شامل تولید کد جاوااسکریپت برای ولیدیشن سمت کلاینت و تولید کد سمت سرور برای ولیدیشن سمت سرور بصورت خودکار توسط ASP.NET در موقع اجرا تولید میشن. شما هیچی از این کدهای تولید شده در کدهای خودتون نمیبینید و تنها جایی که میشه اثری از اونها پیدا کرد کد خروجی ارسال شده به سمت کلاینت هست که طبیعتا شامل کد ولیدیشن سمت کلاینت هست. مزایای این سیستم اینه که کد سایت/اپلیکیشن وب شما شلوغ و پیچیده نمیشه بخاطر جزییات فنی ولیدیشن که با وجود تفاوت کد سمت سرور و کلاینت حجیمتر و پیچیده تر هم میشه و بعد اینکه نیازی نیست با یک زبان سمت سرور و یک زبان سمت کلاینت همزمان کار کنید و کد ولیدیشن رو نمینویسید بلکه تنها پارامترهاش رو تعیین میکنید. خب اینم خیلی خوبه که ولدیشن سمت کلاینت و سرور با هم کاملا منطبق هستن و از یک منبع مشترک تولید میشن، درحالیکه در PHP تاجایی که بنده تاحالا دیدم، بیشتر افراد کدهای ولیدیشن سمت کلاینت و سرور رو بصورت دستی و جداگانه مینویسن و این کدها هیچ ارتباط خودکاری با هم ندارن و از یک منبع مشترک حاصل نمیشن و بطور مثال موقع تغییر پارامترها باید یاد برنامه نویس باشه و کدهای هر دو سمت رو تغییر بده و با هم هماهنگ کنه. ضمنا کدهایی که دات نت برای ولیدیشن سمت سرور و کلاینت تولید میکنه کامل و امن و مستقل از مرورگر هستن و نیازی نیست شما کدتون رو برای اطمینان از کارکرد اون روی چند مرورگر مختلف تست کنید؛ یعنی میتونم بگم نسبت به کدهای بیشتر برنامه نویسان بیشتر این خواص رو دارن چون توسط برنامه نویسان حرفه ای و بصورت متمرکز نوشته و تست و تحلیل کافی شدن.

    این کنترل رو میشه تنظیم کرد که با عملگرهای کوچکتر، کوچکتر یا مساوی، بزرگتر یا مساوی و غیره، مقدار دو ورودی یا یک ورودی و یک مقدار ثابت رو مقایسه کنه و اگر شرط/عملگر مورد نظر برقرار نبود پیام خطایی رو به کاربر نشون بده و در سمت سرور هم خطای ولیدیشن براحتی از طریق دستور سادهء Page.IsValid قابل تشخیص باشه. این کنترل میتونه مقدارهایی از نوع رشته ای، عدد صحیح، عدد اعشاری، تاریخ و مبلغ پول رو مقایسه کنه.

    نمونه کد یک صفحه که دو ورودی پسورد رو مقایسه میکنه:

    <%@ Page Language="C#‎" AutoEventWireup="True" %>
    <html>
    <head>
    <title>CompareValidator Example</title>
    <script runat="server">
    void Button_Click(Object sender, EventArgs e)
    {
    if (Page.IsValid)
    {
    lblOutput.Text = "<b>نتیجه ولیدیشن سمت سرور: صحیح</b>";
    }
    else
    {
    lblOutput.Text = "<b>نتیجه ولیدیشن سمت سرور: خطا</b>";
    }
    }
    </script>
    </head>
    <body>
    <br /><br /><br />
    <form id="form1" runat="server">
    <dir dir="rtl">
    پسورد:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:TextBox id="TextBox1" TextMode="password" runat="server"/><br />
    تایپ مجدد:
    <asp:TextBox id="TextBox2" TextMode="password" runat="server"/>
    <asp:Button id="Button1" Text="ارسال" OnClick="Button_Click" runat="server"/>
    <br />
    <div style="margin: 5px">&nbsp;&nbsp;
    <asp:CompareValidator id="Compare1"
    ControlToValidate="TextBox2"
    ControlToCompare="TextBox1"
    Text="خطا: ورودیهای پسورد یکسان نیستند"
    ForeColor="red"
    BackColor="yellow"
    style="border: 3px solid red;"
    runat="server"/>
    </div>
    <br />
    <asp:Label id="lblOutput" runat="server"/>
    </div>
    </form>
    </body>
    </html>


    در تصویر زیر میبینید که به محض اینکه در ورودی دوم پسوردی رو وارد میکنیم که با پسورد ورودی بالایی یکی نیست، یک پیام خطا در سمت کلاینت توسط جاوااسکریپت نمایش داده میشه. ضمنا کلیک کردن روی دکمهء سابمیت در این حالت اثری نداره و فرم سابمیت نمیشه:

    اگر مقدار ورودی رو اصلاح کنیم پیام خطا هم ناپدید میشه.

    وقتی فرم سابمیت میشه ولیدیشن در سمت سرور هم صورت میگیره.
    تصویر زیر پیام ولیدیشن سمت سرور پس از سابمیت شدن فرم همراه با اطلاعات صحیح رو نشون میده:

    بجز CompareValidator کنترلRangeValidator برای مقایسهء مقدار ورودی با یک مقدار ماکزیمم و مینیمم استفاده میشه (بطور مثال ورودی عددی بین 1 و 10 باشه - یا تاریخ و غیره)، کنترلRegularExpressionValidator برای تست یک Regular Expression بر روی یک ورودی بکار میره، وRequiredFieldValidator برای اطمینان از اینکه ورودی حتما مقداری داشته باشه و خالی نباشه.

    خب مزایای این روش سیستم کنترل ولیدیشن دات نت رو هم که قبلا گفتم.
    عکس های ضمیمه عکس های ضمیمه

  13. #13

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با سلام، همش همين بود (شوخي ميكنم، ناراحت نشين)؟ اين همه ميگفتين Validation توي ASPX و سيستم يكپارچه سمت سرور و كلاينت و... ؟
    فعلاً علي الحساب CompareValidator كه با PHP درست كردم رو بررسي كنيد. بقيه رو هم اگه فرصت كنم، آماده ميكنم كه فكر نميكنم سخت تر از اين مورد باشه.
    موفق و مؤيد باشيد.
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    شاید با asp یه چیزایی رو راحت تر انجام می نویسید و ولی با php مـــــــــــــــی تونید اون رو سخت تر بنویسید
    خوب علت این که از asp.net استفاده می‌کنیم همین هست دیگه به قولی لقمه رو درو سرمون نمی‌گردونیم

    eshpilen عزیز و MMSHFE عزیز بحث خوب داره جلو می‌ره به زودی مشخص می‌کنیم که مثلن برای راه اندازی یه سایت کوچیک با همین امکانات ساده و پیش پا افتاده که الان مد نظر هست کدوم زبان کاراتر هست و وقت و هزینه کمتری برای برنامه نویسان پروژه و کلن تیم مدیریتی داره .

    پ ن: دقت کنید گفتم برای برنامه نویسان و تیم مدیریتی نگفتم صاحب اصلی سایت چون برای خیلی‌هاشون تفاوت زیادی نمی‌کنه پس لطفن بحث تاپیک رو منحرف نکنید موفق باشید./

  15. #15

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با سلام، PHP هم موارد زيادي داره كه در ASPX به اين راحتي در دسترس نيست (بعنوان مثال كتابخانه GD و PDFLIB). به زودي نمونه اونها رو هم خواهم گذاشت. موفق باشيد.

  16. #16

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    فعلاً علي الحساب CompareValidator كه با PHP درست كردم رو بررسي كنيد. بقيه رو هم اگه فرصت كنم، آماده ميكنم كه فكر نميكنم سخت تر از اين مورد باشه.
    موفق و مؤيد باشيد.
    میشه یخورده بیشتر وقت بذارید و مثال تمیزتر و کاملی تهیه کنید؟ نگران نباشید ما عجله ای نداریم.
    مثلا جزییاتی مثل درج برچسب نام ورودیها رو انجام بدید و اگر مثال بنده به زبان فارسی هست شما هم به زبان فارسی بذارید. البته اگر ترکیب فارسی و انگلیسی موقع کدنویسی سخته میتونیم توافق کنیم که از این به بعد مثالها رو فقط با متون انگلیسی تهیه کنیم.
    سعی کنید مثال شما شبیه مثالی باشه که طرف مقابل ارائه کرده؛ هم از نظر امکانات و هم از نظر ظاهر.
    ممکنه تعیین همین جزییات ظاهری مقداری کد رو حجیم و شلوغ بکنه و فردی که دو نمونه کد رو نگاه میکنه فکر کنه یکیش خواناتر/کوتاهتر هست، درصورتیکه حذف یکسری جزییات نمایشی باعث این امر بوده باشه.
    فکر نمیکنم این کارا زیاد سخت باشه. ضمنا تست رو هم ساده تر میکنن.
    و اما از نظر امکانات و طرز کار هم کد شما هنوز کامل نیست و شباهت کافی به مثال بنده نداره.
    اشکالات:
    - وقتی ورودی اول رو پر میکنی و هنوز اصلا به ورودی تکرار پسورد نرسیدی، پیام خطا میده.
    - به ازای تایپ هر کاراکتر خطا میده، درحالیکه باید وقتی پر کردن ورودی توسط کاربر تموم شد و از اون ورودی خارج شد عملیات مقایسه صورت بگیره.
    - وقتی خطایی در ورودی وجود داشته باشه فرم همچنان سابمیت میشه. شما باید در سمت کلاینت از سابمیت شدن فرم دارای خطا جلوگیری کنید (نمونه کد بنده اینطور هست و بهش اشاره کردم)
    - وقتی هر دو ورودی خالی باشن در سمت سرور متغییر inppasswordدارای مقدار رشتهء تهی هست، نه رشتهء true یا false. باید در این حالت محتوی رشتهء true باشه.
    - اگر عملیات ورود/ویرایش اطلاعات بجای کیبورد با ماوس انجام بشه، ولیدیشن شما کار نمیکنه.

    البته شاید بعضی از این جزییاتی که گفتم مهم نباشن یا برطرف کردن اونها خیلی راحت باشه، اما بهرحال شما باید مثال خودتون رو بقدر کافی مشابه امکانات و ظاهر مثال طرف مقابل ارائه کنید تا بشه مقایسهء راحت و مطمئنی داشت؛ این وظیفهء طرف مقابل نیست که کار شما رو انجام بده.
    از طرف دیگه کد شما در این مورد ساده دچار اشتباهات و نقصهایی بود، و این نشون میده که نوشتن کد دستی حتی توسط برنامه نویسان باتجربه مستعد چقدر اشتباه و نقص هست و چقدر جزییات وجود دارن که ممکنه از زیر دست در برن.
    در نهایت حتی اگر شما تمام این نقصها رو برطرف بکنید، که در کل کد شما رو حجیم تر و پیچیده تر خواهند کرد و حتی ممکنه موارد اشکال جدیدی رو بوجود بیارن، بازهم مشخص هست که کد شما در کل از کد دات نت به مقدار قابل توجهی حجیم تر، پیچیده تر و ناخواناتر هست.
    ضمنا جزییات دیگری هم بودن که میتونستم ذکر کنم، اما سعی کردم منصف باشم و فقط مواردی رو که واقعا نمیشه ازشون صرفنظر کرد رو مد نظر قرار بدم.
    راستی بزرگترین اشکال کد شما رو هنوز نگفتم!
    نمیدونم متوجه این قضیه بودید یا نه، چون درواقع کد شما فاقد بخش اساسی ولیدیشن سمت سرور هست! شما برای ولیدیشن سمت سرور از مقداری که توسط ولیدیشن سمت کلاینت تولیده شده استفاده کردید که این کاملا غلط و بی فایده هست. بطور مثال وقتی جاوااسکریپت مرورگر رو خاموش کنیم، شما در سمت سرور قادر به تشخیص این نیستید که مقدار دو ورودی یکسان هست یا خیر. شما برای این کار از مقدار inppassword که در سمت کلاینت توسط کد ولیدیشن جاوااسکریپت شما تولید میشه استفاده کردید که این کار یک کار 100% اشتباه و بی فایده هست.

    ضمنا این کدهایی که نوشتید، با اینهمه نقص و اشکال، تنها یکی از انواع ولیدیشن بود که دات نت داره. چند نوع دیگر هم هست که نوشتن بعضی از اونها در PHP احتمالا بیش از این پیچیده و حجیم و غیرقابل مقایسه با دات نت میشه.
    برای بعضی چیزها مثل ولیدیشن از نوع رگولار اکسپرشن که اصلا مشکل بزرگ و اساسی دیگری هم درکار هست. چون PHP هنوز از یونیکد پشتیبانی نمیکنه و بنابراین رگولار اکسپرشن سمت سرور و کلاینت شما درصورت وجود کاراکترهای غیرلاتین در مقادیر ورودی، کاملا متفاوت خواهند بود و تهیه رگولار اکسپرشن سمت سرور که با یونیکد کار میکنه میتونه واقعا پیچیده و دشوار باشه و بعید میدونم بتونید بصورت خودکار از روی رگولار اکسپرشن سمت کلاینت، رگولار اکسپرشن سمت سرور رو تولید کنید.

    بعدش دوست عزیز شما که گفتید PHP فریمورک های کامل و قوی ای داره، پس چطور شد رفتید اینا رو خودتون بنویسید؟

  17. #17

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    امان از دست شما! میشه بگین چند سالتونه؟ شرمنده ولی خیلی ایرادات بچگانه وارد میکنید! این کد فقط یک مثاله که ببینید میشه یک Validation منسجم سمت سرور و کلاینت همزمان نوشت و کاربر نخواد خودش عملیات رو انجام بده. اما جواب:
    1- برای تنظیم پیغام فارسی باید از خاصیت Text شئ ایجاد شده از CompareValidator استفاده کنید (میتونید فارسی بگذارید).
    2- همون کدی که شما میگین با اضافه کردن جزئیات خواناتر/کوتاهتر میشه، فقط ازنظر کاربر هست وگرنه توی فایل این کدها نوشته خواهد شد (توسط VSdotNET).
    3- اگه به جای رویداد onKeyUp رویدادهای دیگه مثل onBlur رو با تابع تولیدشده مرتبط کنید، مشکل زمان تعیین اعتبار رفع خواهد شد و وقتی Focus از روی کنترل حرکت میکنه، عمل Validation انجام خواهد شد (یکی از مزایای کد بنده هم همینه که میتونید تعیین کنید در چه زمانی عمل تعیین اعتبار انجام بشه).
    4- برای جلوگیری از Submit شدن هم کافیه که یک تابع دیگه اضافه کنم که اگه نتیجه Validation غیرمعتبر بود، خروجی false بده و رویداد کلیک دکمه Submit رو هم با اون تابع مقداردهی کنم.
    5- میشه بگین سمت سرور بدون استفاده از JS چطور میخواد از نتیجه Validation سمت کلاینت مطلع بشه؟ شاید VSdotNET کلاً معماری وب رو بهم ریخته و امنیتش رو از بین برده (که بعید هم نیست) و ما خبر نداریم؟! خودتون با غیرفعال شدن JS عملیات Validation سمت سرور رو تست کردین؟ آیا ندیدین که یک کد ساده بهش اضافه میکنه (با یک شرط ساده بررسی میکنه که برابر هستن یا نه) که این کار هم به راحتی و بصورت دستی قابل انجامه!
    6- کدی که من نوشتم ممکنه حجیم و طولانی بشه ولی این به کاربر ربطی نداره و فقط از کلاس ارائه شده استفاده میکنه و خاصیتهاش رو تنظیم میکنه (درست مثل شما که از کلاس مذکور در dotNET استفاده میکنید و نمیدونید که چه کدی توش نوشته شده و چطور این کار رو انجام میده و چطور حجیمه! تازه اینجا مزیتی وجود داره به نام OpenSource که کاربر میتونه ببینه اطلاعاتش چطور تعیین اعتبار میشن و اگه بخواد، تابع Validation سفارشی خودش رو بنویسه (مثلاً حساس به حروف کوچک و بزرگ نباشه و...).
    7- میشه بگین طبق چه منبعی میگین PHP هنوز از Unicode پشتیبانی نمیکنه؟ چند وقته با UTF8 توی PHP کار نکردین؟ ضمناً تهیه RegularExpression به طور خودکار هم خیلی وقته انجام شده و کارم سخت نخواهد بود (کلاسش توی PHPClasses.org موجوده).
    8- نیازی به استفاده از Framework نبود چون گزینه درخواستی بیش از حد ساده بود.
    موفق باشید.

  18. #18

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    3- اگه به جای رویداد onKeyUp رویدادهای دیگه مثل onBlur رو با تابع تولیدشده مرتبط کنید، مشکل زمان تعیین اعتبار رفع خواهد شد و وقتی Focus از روی کنترل حرکت میکنه، عمل Validation انجام خواهد شد (یکی از مزایای کد بنده هم همینه که میتونید تعیین کنید در چه زمانی عمل تعیین اعتبار انجام بشه).
    از این به بعد مثالهاتون رو درست بذارید لطفا! اگر این کارها ساده هست پس خودتون قبل از درج مثال انجام بدید. اصلا معنی نداره که کاربر هنوز ورودی رو کامل نکرده پیام خطا بده! از اولش باید اون کار رو میکردی. ضمنا بعضی جزییات در تکمیل مثال روشن میشن.

    4- برای جلوگیری از Submit شدن هم کافیه که یک تابع دیگه اضافه کنم که اگه نتیجه Validation غیرمعتبر بود، خروجی false بده و رویداد کلیک دکمه Submit رو هم با اون تابع مقداردهی کنم.
    آفرین این کار رو هم انجام بده.
    من واسه چی میگم باید انجام بدی.
    چون همهء اینا افزونگی کد شما رو زیاد میکنن.
    الان شما بغیر از دو ورودی پسورد، در رویداد onsubmit تگ فرم یا رویداد کلیک دکمهء سابمیت هم باید تابع password() رو اضافه کنی. درحالیکه در دات نت شما فقط ورودیها رو به کنترل ولیدیشن معرفی میکنی و دیگه نیازی نیست چند جای دیگه چیزی اضافه کنی و یوقت یادت بره یا اشتباهی بشه.
    همهء اینا مزیت هست. و فکر کن وقتی در این کدهای کوچک و ساده مزیت هست، در کل برنامه و چیزهای پیچیده تر هم هست و کلا جمع این موارد هست که حداقل با بخشی از مسائل خوانایی و پیچیدگی و نگهداری و گسترش کد و آمار باگ برنامه ها در ارتباطه.
    لطفا سعی نکنید این مسائل رو کوچک نشون بدید. خیلی از مشکلات و اشتباهات بر سر همین مسائل کوچک هست. و در برنامه های بزرگ و پیچیده اثر این موارد جزیی بیشتر هم میشه، چون تعداد جزییات متعدد و مواردی که برنامه نویس باید یادش باشه یا اصلاح کنه بالا میرن و برنامه هم خیلی حجیم تر و پیچیده تر و کلا درهم تنیده میشه.

    5- میشه بگین سمت سرور بدون استفاده از JS چطور میخواد از نتیجه Validation سمت کلاینت مطلع بشه؟
    سمت سرور ما هیچ کاری با نتیجهء ولیدیشن سمت کلاینت نداریم.
    برای چی باید کار داشته باشیم؟
    شما در سمت سرور باید ولیدیشن کاملا مستقلی انجام بدید، چون به صحت چیزی که از سمت کلاینت میاد به هیچ وجه نمیشه اعتماد کرد.

    خودتون با غیرفعال شدن JS عملیات Validation سمت سرور رو تست کردین؟
    بله تست کردم و کار میکنه. فکر کردی پس چی؟ یعنی اینقدر دات نت کشکی هست یا بنده ناشی هستم؟
    اصلا مفهوم و اهمیت ولیدیشن سمت سرور همین هست.

    آیا ندیدین که یک کد ساده بهش اضافه میکنه (با یک شرط ساده بررسی میکنه که برابر هستن یا نه) که این کار هم به راحتی و بصورت دستی قابل انجامه!
    خب شما همین رو در کدت پیاده کن دیگه. کاری کن بصورت خودکار این کد رو در سمت سرور هم تولید بکنه.
    مگر بنده به مفهوم منبع مشترک اشاره نکردم؟ یعنی شما یک جا بصورت متمرکز پارامترهای ولیدیشن رو تعیین میکنی، نه اینکه بصورت دستی دو جا دو تا کد بنویسی و پارامترها رو تکرار کنی.
    اگر دوجا دستی نوشتی، موقع تغییر یکی نیاز داری دیگری رو هم یادت باشه و اصلاح کنی.
    ولیدیشن دات نت فقط برای مقایسهء برابر هم که نیست بلکه عملیات کوچکتر و بزرگتر و غیره رو هم میتونه بررسی بکنه، میشه اعداد رو مقایسه بکنه، تاریخ ها رو (که نیاز به پردازش بیشتری داره و نمیشه فقط با مقایسهء رشته ای بررسی کرد.

    6- کدی که من نوشتم ممکنه حجیم و طولانی بشه ولی این به کاربر ربطی نداره و فقط از کلاس ارائه شده استفاده میکنه و خاصیتهاش رو تنظیم میکنه (درست مثل شما که از کلاس مذکور در dotNET استفاده میکنید و نمیدونید که چه کدی توش نوشته شده و چطور این کار رو انجام میده و چطور حجیمه!
    مطمئن باش کد دات نت از کد شما خیلی کاملتر و امن تر هست و ولیدیت سمت کلاینت اون روی مرورگرهای بیشتری کار میکنه. حجیم هم باشه به من چه؟ برای من مهم راحتی و سرعت برنامه نویسی هست و اینکه سایت کار کنه. کاربر هم کاری نداره به حجم و کد پشت صحنه.

    تازه اینجا مزیتی وجود داره به نام OpenSource که کاربر میتونه ببینه اطلاعاتش چطور تعیین اعتبار میشن و اگه بخواد، تابع Validation سفارشی خودش رو بنویسه (مثلاً حساس به حروف کوچک و بزرگ نباشه و...).
    موضوع همینه که اکثر یا بسیاری افراد این کار رو به دلایل مختلف نمیکنن و یا چشم بسته از کد دیگران که از هرجایی پیدا کردن استفاده میکنن و یا کد خودشون رو مینویسن که خیلی هاشون هم ایراد داره. چون این کدها توسط افراد حرفه ای و گروه ارزیابی کیفیت و امنیت نوشته و بررسی نشدن.
    واسه همین میگم سایتهای دات نت میتونن از PHP امن تر باشن. چون حداقل این کارهای استاندارد و پایه رو خود دات نت با کدی نوشته و تست شده توسط برنامه نویسان حرفه ای انجام میده.

    7- میشه بگین طبق چه منبعی میگین PHP هنوز از Unicode پشتیبانی نمیکنه؟ چند وقته با UTF8 توی PHP کار نکردین؟
    PHP ساپورت Native از یونیکد نداره. بطور مثال فکر میکنید چرا تابع strlen مقدار اشتباهی رو برای رشته های فارسی برمیگردونه؟ چون بایت به بایت میشماره، درحالیکه هر کاراکتر فارسی چند بایت هست.
    به همین ترتیب درمورد رگولار اکسپرشن ها هم مشکل داریم که جدی تره. درمورد strlen میشه از تابع mbstrlen بجاش استفاده کرد، اما درمورد رگولار اکسپرشن بنده شخصا چیزی ندیدم.

    PHP currently does not have native support for Unicode or multibyte strings; Unicode support is under development for a future version of PHP

    منبع: http://en.wikipedia.org/wiki/Php
    ضمناً تهیه RegularExpression به طور خودکار هم خیلی وقته انجام شده و کارم سخت نخواهد بود (کلاسش توی PHPClasses.org موجوده).
    شما همون مورد معادل کنترل ولیدیشن رگولار اکسپرشن دات نت رو با PHP بنویس تا بهت بگم.
    اصلا همین الان یک رگولار اکسپرشن در PHP ارائه بده که تست میکنه رشتهء ورودی فقط از کاراکترهای حروف فارسی (الف تا ی) تشکیل شده باشه. ببینم همین مورد ساده و پایه رو میدونی فرقش چی هست یا نه!
    آخرین ویرایش به وسیله eshpilen : جمعه 27 اسفند 1389 در 18:16 عصر

  19. #19
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    امان از دست شما! میشه بگین چند سالتونه؟ شرمنده ولی خیلی ایرادات بچگانه وارد میکنید!
    دوست عزیز سعی کنید یکم منصف‌تر رفتار کنید یکبار به شما ثابت کردم تخریب کردن یه نفر آسون‌تر از خوردن یک لیوان آب هست اگر توانایی کدنویسی مرتب رو ندارید یا حوصلش رو ندارید از بحث بکشین کنار. اگر کنار نرفتین لطف کنید و اثبات کنید که زبان مورد نظر شما نیاز به پیچیدگی‌های زیادی نداره و اون مزایایی که دوست عزیزمون برای کدشون در نظر گرفتن رو شما هم به خوبی قادر به انجام دادنش هستین « در کل بحث اصلی سر همین موضوع بوده » من احساس می‌کنم شما قصد دارین به خوانندگان این تاپیک القا کنید که طرفتون کم سن و سال هست و خیلی ناشی در صورتی که داره چیز دیگه‌ای رو ثابت می‌کنه ممنون می‌شم با کلمات بازی راه نندازین.

    موفق باشید و عید همگی مبارک باشه امیدوارم که همیشه خوش و خرم و برنامه نویس باشید./

  20. #20

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    ایشون باید در مسائل فنی دقیق و منصف باشن.
    ایشون گاهی چیزایی میگه که بنده هم شک میکنم واقعا اینقدر بی سواد باشه و بیشتر فکر میکنم میخواد بحث رو منحرف کنه.
    مثلا این مسئلهء ولیدیشن مستقل سمت سرور. من موندم یعنی ایشون که اینقدر با تجربه هست و از کدهایی که نوشتن هم معلومه تواناییشون بد نیست، تاحالا این رو نمیدونستن و در برنامه هاشون رعایت نمیکردن؟!
    آقا جان سمت کلاینت باید سمت کلاینت انجام بشه و تموم. حالا یا انجام میشه یا نمیشه؛ میتونه توسط کاربر غیرفعال بشه یا اصلا هکر میتونه هر دیتایی رو که میخواد جعل کنه و به سایت شما ارسال کنه. شما که نباید نتیجهء اعتبارسنجی سمت کلاینت رو معیار قرار بدید در سمت سرور.
    خوبی کنترل های ولیدیشن دات نت اینه که شما یک جا و فقط یک جا، پارامترها و ورودیهای مورد نظر رو تعیین میکنی، و بعد دات نت برات بقیهء کار رو انجام میده؛ کد ولیدیشن سمت کلاینت رو تولید میکنه، و کد ولیدیشن مستقل سمت سرور رو هم که هیچ وابستگی ای به سمت کلاینت نداره تولید میکنه. این کدهای سمت سرور رو شما در برنامتون نمیبینید، اما وجود دارن و اجرا میشن و میتونید نتیجهء اونها رو با Page.IsValid چک کنید (البته Page.IsValid نتیجهء کل ولیدیشن های موجود در صفحه رو برمیگردونه؛ برای یک ولیدیشن خاص میتونیم از بطور مثال Compare1.IsValid در سمت سرور استفاده کنیم).
    آخرین ویرایش به وسیله eshpilen : جمعه 27 اسفند 1389 در 21:08 عصر

  21. #21

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط m.soleimani مشاهده تاپیک
    اگر توانایی کدنویسی مرتب رو ندارید یا حوصلش رو ندارید از بحث بکشین کنار
    بله این خیلی مهمه.
    ما هم عجله ای که نداریم. این کار باید دقیق و اصولی انجام بشه. با آرامش و کامل. یه چیزی رو یک هفتهء دیگر هم جواب بدیم اشکالی نداره. منم از اولش گفتم که این بحث رو به تدریج و با فاصله پیش میبریم چون خودمم اینقدر وقت و انرژی نمیتونم روش بذارم و کاری نیست که معنی داشته باشه با عجله و سطحی پیش ببریم.
    الان بطور مثال معلومه که ایشون کد دات نت بنده رو تست کافی نکردن که تازه میگن مگه سمت سرورش بدون JS سمت کلاینت کار میکنه!
    و از طرف دیگه این جای سوال داره که ایشون که ادعا میکنن دات نت رو میشناسن و کار کردن چطور این رو نمیدونستن که کنترل های ولیدیشن دات نت این خاصیت رو دارن. منم قبلا گفتم که بنظرم ایشون به دات نت احاطهء کافی ندارن وگرنه اونقدر سطحی درمورد دات نت اظهار نظر نمیکردن که انگار فقط بحث ویژوال استودیو و چنتا ویزارد و تولید خودکار چنتا کد هست که از نظر ایشون بیشترش یا بخش بزرگی از اونا اضافی هست.
    البته اینو بگم که این مشکل خیلی از برنامه نویسان هست و بنظرم حتی خیلی از افرادی که مدتهاست با دات نت کار میکنن واقعا به دات نت احاطه ندارن. چون اصولی یاد نمیگیرن. بطور مثال بنده وقتی میگم رفرنس رسمی رو کامل میخونم، اکثرا میگن نیازی نیست و کار مفیدی نیست و صرفه نداره. اما آدم اگر بخواد یه چیزی رو کامل بشناسه و دید کامل و دقیقی بدست بیاره، مطالعهء کامل رفرنس رسمی اگر لازم نباشه حداقل خیلی مفیده و به خوندنش می ارزه (حتی اگر آدم جزییات رو فراموش کنه). ضمنا خوشبختانه نمونه کد هم زیاد توش هست. این افراد فکر کنم تاحالا حتی یک رفرنس رسمی در هر موضوعی رو هم کامل نخوندن تا اصلا امتحان کرده باشن و ببینن چی توش هست و چی نیست و آیا مفید هست یا نه.
    درمقابل، بنده کد ایشون رو هم عملا تست کردم و هم خط به خط خوندم و اون رو تحلیل و ارزیابی کردم تاجای ممکن و فکر میکنم PHP رو هم تا حد خوبی میشناسم. با فریمورک هاش کار نکردم، اما خود PHP رو درحد مطالعهء کامل رفرنس رسمی یادگیری داشتم.

    البته با توجه به طراحی کلاس معادلی که ایشون ارائه کردن و سبک کدنویسیشون باید بگم درکل کارشون خوبه و فکر نمیکردم در این حد باشن، ولی بهرحال بازم نقص و ضعف دیده میشه در کدنویسی که شاید بخاطر بی دقتی و سرسری گرفتن و عجله ای هست که دارن که نمیدونم فقط در این بحث با بنده هست یا کلا اینطوری هستن، و نیز ادعاها و روش تحلیل و استنباط منطقی ایشون ایراد داره یا شاید موضوع اینه که نمیخوان واقعیت رو بپذیرن.

  22. #22

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با سلام، دارم روي كلاس مربوطه كار ميكنم و به زودي كاملش ميكنم ولي يك نكته رو هم بايد قبول كنيد و اون اينكه VSdotNET به دليل كنترلي كه روي فايلها داره، ميتونه Validation سمت سرور رو هم تنظيم كنه چون ميتونه فايل مقصد فرم رو هم ويرايش كنه ولي در اينجا چون بايد دستي انجام بشه، من از JS استفاده كردم كه به قول شما، اشتباهه و دنبال راهي هستم كه سمت سرور رو هم تنظيم كنه ولي اين رو بايد بپذيريد كه به دليل استفاده نكردن از Framework اين كار خيلي مشكله اما حقيقتاً سعي دارم بدون Framework اين كار رو انجام بدم و ميدونم شدني هست (هر چند سخت). درواقع جداي از اينكه بخوام بحث يا خداي نكرده جدالي با كسي داشته باشم، دلم ميخواد كنترلهاي Validation موجود در ASPX رو با همكاري همديگه توي PHP شبيه سازي كنيم و در عين حال، يكسري مزاياي PHP رو هم مطرح كنيم و دنبال راه حل اونها در ASPX باشيم. اينطوري دانشمون در هر دو زمينه بالا ميره. از نظر لطفتون هم درمورد خودم متشكرم. اميدوارم با همكاري همديگه بتونيم بدون بحث و زير سؤال بردن هم، به ارتقاي دانش خودمون و سايرين در اين جامعه مجازي كمك كنيم. احتمالاً در ويرايش بعدي اين كلاس، امكان تعيين رويداد مربوطه و ساير خصوصيات مثل پنهان و آشكار شدن كادر خطا و... هم درنظر گرفته خواهد شد. در كل ميتونم بگم با اين بحث دارم يه جورايي حال ميكنم!
    موفق و مؤيد باشيد.

  23. #23

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    سلام
    بحث خیلی جالبیه
    از اونجا که من در حد مبتدی با دات نت و php آشنا هستم خواستم ببینم نحوه پیاده سازی آرایه ها در دات نت به اندازه پی اچ پی انعطاف پذیر هست یانه؟
    مثلا :
           <?php
    $arr = array("foo" => "bar", 12 => true);

    echo $arr["foo"]; // bar
    echo $arr[12]; // 1
    ?>

    همینطور که همه دوستان میدونن آرایه ها در پی اچ پی خیلی انعطاف پذیره و توی خود سایتش اینو نوشته :

    This type is optimized for several different uses; it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more.]

    ممنون میشم توضیح بدید
    موفق باشید

  24. #24
    کاربر دائمی آواتار V0R73X
    تاریخ عضویت
    آبان 1389
    محل زندگی
    Houston, TX
    پست
    192

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط galiken_it مشاهده تاپیک

    لاکردار PHP انتها نداره و هر چی یاد بگیری بازم کمه ( من جنگ رو شروع می کنم )
    کی گفته ASP انتها داره؟ آیا شما میتونی با اطمینان بگی: من میتونم با MVC و AJAX و Toolkit و CSS و JQuery و SQL و... کار کنم؟
    با سلام، شما هم كه ما رو با اين Multi-thread كشتين! آخر هم نفهميديم كاربردش توي وب كجاست كه نشه با AJAX معادلسازيش كرد!
    ببخشین؟؟ مالتی-ترد کاربرد نداره؟؟!؟!؟! کلهم تکنولوژی AJAX و XMLhttpRequest روی مالتی ترد پایه گزاری شده!!! بدون مالتی ترد برنامه شما چیزی جز یه مشت دستور که پشت سر هم پس از شلیک شدن یه رویداد اجرا میشن نیست! بعدش میشه توضیح بدین چطور میشه مالتی-ترد رو با اجکس معادل سازی کرد، وقتی خود اجکس از مالتی-ترد اومده؟؟

    با عرض پوزش این 2 تا رو باید جواب میدادم ولی نمیخوام دیگه از بحث دور شیم.
    به نظر من یه چیزی که هست بحث امنیت هست که میتونیم مقایسه کنیم اینجا: ازونجایی که من طرف ASP هستم، با افتخار سیستم قدرتمند امنیتش رو معرفی میکنم:
    آسان، و قوی، و راه های متعددی هم برای ایجاد امنیت وجود داره: MemberShip, WAT, CreateUserWizard
    WATکه کاملا User-Friendly هست و با چند تا کلیک میتونی کاربر رو ایجاد و براش Role تعیین کنی (راستی بحث Role شد، تو PHP چطور به این آسونی Role درست میکنین؟؟)
    CreateUserWizard هم فقط و فقط یه کنترله که میندازیش رو فرم، و همین!!!!!!!!!!!!!!!!!! کاربر میره اونجا اطلاعاتش رو وارد میکنه، و بقیه کار از ساخت DataBase گرفته تا Encode کردن پسورد به عهده خود asp هست!!
    در مورد MemberShip، بعدا به اون میرسیم، اگر کسی پیدا شد واسه دفاع از Php...
    کافیه به آمار سایت های هک شده دنیا یه نگاهی بندازین، ببینین چند تاشون PHP بودن چند تاشون ASP (البته این مدرک خوبی نیست چون ازونجایی که تعداد سایت های ساخته شده با PHP هم بیشتره، تعداد سایت های PHP هک شده هم بیشتره)
    ولی در هر حال فکر کنم حتی خود PHP نویسان عزیز هم با من موافقند در مورد امنیت... البته باز هم یک چیز رو اضافه میکنم: این که امنیت یک سایت 85.24% به برنامه نویسش بستگی داره، ولی چیزی که من میخوام بگم، اینه که ASP این امنیت رو 90% خودش تضمین میکنه، و اینجا، هم در آسانی کار از PHP جلوتره هم از نظر امنیتی. اگر کسی میتونه در این مورد از PHP دفاع کنه نظرش رو بیان کنه تا من نمونه کد ها رو هم بزارم، وگرنه که 1-0 به نفع ASP.NET!
    آخرین ویرایش به وسیله V0R73X : شنبه 28 اسفند 1389 در 05:20 صبح

  25. #25
    کاربر دائمی آواتار V0R73X
    تاریخ عضویت
    آبان 1389
    محل زندگی
    Houston, TX
    پست
    192

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط UnnamE مشاهده تاپیک
    اينجور كه شروع كردين فك كردم يا php يا .net زنده ميرن بيرون
    نه وجداني خواستين مثال بيارين، رفتين validate آوردين؟ نه اصلا؟
    اين جور بند و بساط كه مث نقل و نبات تو نت ريخته، تو نت نباشه هم همه اين كارهاي به قول خودتون RAD و فلان رو ميشه تو همين كافيشاپ RADPHP پياده كرد
    اينا مثال و فلان رو نشون بچه بدي خندش ميگيره مرد حسابي.
    3-4 روزه هي دودور دادار راه انداختين =))
    ببخشین؟؟؟؟ میشه خواهش کنم ادب رو رعایت کنین؟؟ اینجا فروم تخصصی برنامه نویسیه کافی شاپ که نیست!!
    بعدشم یعنی چی که "خواستین مثال بیارین رفتین Validation آوردین"؟؟ پس چی بیاریم؟؟ اینک جزء برنامه نویسیه دیگه، نیست؟؟

  26. #26
    کاربر دائمی آواتار V0R73X
    تاریخ عضویت
    آبان 1389
    محل زندگی
    Houston, TX
    پست
    192

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط khoda2006 مشاهده تاپیک
    سلام
    همینطور که همه دوستان میدونن آرایه ها در پی اچ پی خیلی انعطاف پذیره و توی خود سایتش اینو نوشته :
    موفق باشید
    پس تو ASP خیلی خیلی انعطاف پذیره!!!!!!!!!
    Dim StriTest as string()={"Str1", "Str2"}

  27. #27
    کاربر دائمی آواتار ghasemweb
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    608

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    با احترام کامل به همه خاک خورده های php کار و asp کار به نظر من هیچ کدوم به طور قطع و یقین از دیگری سرتر نیست و مطمئنا هر کسی میخواد نقاط قوت زبانی که خودش کار کرده رو بگه ولی معایبش رو خوب نمیتونه ببینه و بپذیره ولی خوشحالم که در این زمینه همه دوستان نظر میدن و اینجوری میشه نتیجه گیریهای خوبی در آورد و نقاط ضعف رو هم به نقاط قوت تبدیل کرد.

    راستی یه سوال آیا حphp یا asp بودن تفاوتی تو لودینگ و سرعت بارگذاری داره؟؟؟ اگه داره یه مثال عملی ارائه بدین. من خودم php کار میکنم دلیلش هم شاید به خاطر سادگی شروع به کار کردن و در دسترس بودن ابزارهاشه!!!

  28. #28

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط V0R73X مشاهده تاپیک
    پس تو ASP خیلی خیلی انعطاف پذیره!!!!!!!!!
    Dim StriTest as string()={"Str1", "Str2"}
    واقعاً به اين ميگين انعطاف پذيري؟ حالا توي PHP اينو داشته باشين:

    $x['id']=5;
    $x['name']='ali';
    $x['grade']=19.25;
    $x['deleted']=false;
    foreach($x as $key=>$value)
    {
    echo $key.'&nbsp;=>&nbsp;'.$value.'<BR/>';
    }

    يا مثلاً اين كد:

    $value=10;
    echo $value.'<BR/>';
    $value='ahmad';
    echo $value.'<BR/>';
    $value=15.5;
    echo $value.'<BR/>';
    $value=true;
    echo $value.'<BR/>';

    توضيح: اون رشته هاي خالي آخر عبارات echo تگ BR هستن كه اين اديتور جديد سايت (كه واقعاً خيلي بد شده) اونها رو درست نشون نميده.
    همونطور كه ميبينيد، هر خونه يك آرايه در PHP ميتونه يك مقدار با نوع متفاوت داشته باشه يا حتي يك متغير ميتونه در بخشهاي مختلف برنامه، مقادير از نوع مختلفي بگيره. بعلاوه براي ايجاد آرايه انجمني توي PHP هيچ دردسري ندارين ولي توي ASPX بايد از كلاس Array و DictionaryEntry استفاده كنيد تا اين مورد رو شبيه سازي كنيد.
    حالا هي بگين تو ASP خيلي خيلي انعطاف پذيره!!!!!!!
    شرمنده ولي مثالي كه دوست خوبم جناب eshpilen گفتن (Validation)، واقعاً يك مسئله قابل بررسي هست و ميشه گفت يكي از مزاياي ASPX محسوب ميشه (كه البته توي PHP هم قابل پياده سازي هست و دارم مثالي كه گفتم رو تكميل ميكنم) ولي در اين مورد (تنوع در نوع متغيرها و آرايه ها) لطفاً صحبت ASPX رو نكنيد.

  29. #29
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط V0R73X مشاهده تاپیک
    کی گفته ASP انتها داره؟ آیا شما میتونی با اطمینان بگی: من میتونم با MVC و AJAX و Toolkit و CSS و JQuery و SQL و... کار کنم؟
    نخیر حاجی
    شروع کننده ی همین تاپیک توی پست 4 گفته PHP رو که خیلی وقت پیش تموم کردم

    در صورتی که اصلا اینطوری نیست حاجی !

    چقدر خشونت حاجی


    در مورد امنیتم که گفتید بگم :

    به قول خودتون شما می گید بیشتر سایت های هک شده php هست ، چند تا دلیل بهش می دم :
    1 : برنامه نویس هاش
    2 : به خاطر شیرین بودن آقای php
    3 : اکثر برنامه نویس ها دنبال آقای php هستن

    توی هر زبانی ، برنامه نویس قوی داشته باشید می تونید امنیت رو به طور کامل برقرار کنید

    خودتون می گید 90% امنیت asp رو خودش برامون برقرار می کنه و اینم خودش یعنی محدودیت
    آخرین ویرایش به وسیله رضا قربانی : شنبه 28 اسفند 1389 در 10:48 صبح

  30. #30

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    سلام
    در اینکه asp.net از بیشتر لحاظ کارارو برای برنامه نویسان راحت تر کرده و از امنیت در کد نویسی بالاتری برخورداره هیچ شکی نیست.
    اما در بعضی موارد مثل همین آرایه به پی اچ پی نمیرسه.البته شاید دلیلش به خاطر این باشه که برنامه نویسی دات نت ساخت یافته تر هست و برنامه نویس رو مقید کرده که از برنامه نویسی شلوغ دروی کنن.(البته دلیلش رو اگر دوستانی که حرفه ای تر با asp.net کارکردن،توضیح بدن ممنون میشم)

    نقل قول نوشته شده توسط V0R73X مشاهده تاپیک
    پس تو ASP خیلی خیلی انعطاف پذیره!!!!!!!!!
    Dim StriTest as string()={"Str1", "Str2"}
    توی پی اچ پی از آرایه ها به عنوان آرایه ، استک،صف،دیکشنری و ... میشه استفاده کرد اما توی asp.net نمیشه اینجوری و با این انعطاف ازش استفاده کرد بلکه برای هرککدوم یه کلاس مخصوص داره .
    توی asp.net وقتی یه آرایه از نوع string میسازی فقط مقادیر string رو باید داخلش قرار بدی وگرنه پیغام خطا میده اما PHP . . .
    مثلا برای پیاده سازی چنین آرایه ای در asp.net که بشه توش از همه نوع داده استفاده کزد باید چکار کرد؟

    $x['id']=5;
    $x['name']='ali';
    $x['grade']=19.25;
    $x['deleted']=false;
    foreach($x as $key=>$value)
    {
    echo $key.'&nbsp;=>&nbsp;'.$value.'';
    }


    موفق باشید

  31. #31
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    کی گفته ASP انتها داره؟ آیا شما میتونی با اطمینان بگی: من میتونم با MVC و AJAX و Toolkit و CSS و JQuery و SQL و... کار کنم؟
    اینهایی که گفتی یا روش هست یا یه زبان دیگه! تو هر زبانی هم میشه پیاده سازیشون کرد ( بعضی ها رو تحت وب )

    مثلا من با اطمینان کامل میگم css,jquery,js,ajax,Mysql رو یاد دارم! به نظرت این عجیبه!؟ این ها فقط چند تا دستور العمل داره یاد بگیری تمومه ، بقیش رو باید تجربه کنی تا قدر تر بشی ، مثلا همین آژاکس ، چی داره مگه !؟

    پی اچ پی بخاطر ابزار ها ی زیادش پایانی نداره ، مثل بقیه علوم کامپیوتری!

    امنیت هم 99% دست برنامه نویس هست ، فکر نکنم Asp.net , PHP از نظر امنیت از هم سرتر باشن!

    در مورد آرایه ها برای Asp.net اگر اینطوری باشه و مثل پی اچ پی انعطاف پذیر نباشه متاسفم!


    موفق باشید

  32. #32
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    در دات نت شما بايد Type ها رو مشخص كنيد.

  33. #33

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    شروع کننده ی همین تاپیک توی پست 4 گفته PHP رو که خیلی وقت پیش تموم کردم
    من اونو به شوخی در جواب این حرف که PHP انتها نداره گفتم.
    وگرنه بطور کلی برنامه نویسی انتها نداره و این مختص PHP نیست. حتی در دات نت هم شما میتونی بی انتها پیش بری. کی گفته نمیشه؟ چرا نمیشه؟ مگه دات نت شما رو مجبور میکنه صرفا از چیزهای آماده و برنامه نویسی سطح بالا استفاده کنید و نمیتونید توش سطح پایین برنامه بنویسید؟
    البته PHP خودش یه رفرنس و سینتاکس و توابع داره که قبلا خوندم. از این جهت میشه گفت PHP رو اون زمان تمام کردم. بقیه هم هرچی هست دیگه چون با PHP نوشته میشه دلیل بر این نیست که جزو خود زبان هستن، بلکه این درواقع برنامه نویسی هست که گسترش پیدا میکنه.
    ضمنا گسترش به خودی خودش ارزش نداره. باید مزیت واقعی داشته باشه. مثلا در PHP برای یک کار چند فریمورک و کتابخانه و روش هست، اما واقعا اگر بجای چنتا فقط یک روش کامل و امن و اصولی بود چه اشکالی داشت؟ اختلاف این روشها و فریمورک ها اونقدری نیست که بگیم هرکدوم جاهای مختلف کاربردهای وسیعی دارن. این تنوع خیلی وقتا بخاطر بازمتن بودن هست و اینکه PHP خودش ساختار و امکانات سطح بالای کافی نداره و تازه خیلی از این فریمورک ها هم به هیچ وجه خیلی قوی و کامل نیستن.
    آدم در انتخاب و یادگیری اینهمه فریمورک کم و بیش مشابه گیج میشه و مشکل پیدا میکنه و دست آخر بنده دیدم مثلا آگهی استخدام میزنن که افراد مسلط به فلان فریمورک رو میخوایم، و اونوقته که میبینی ای داد بیداد اون فریمورک رو یاد نگرفتی و بجاش فریمورک یا فریمورک های دیگری رو کار کردی. آدم چیکار میتونه بکنه؟ بیاد هر چندتا فریمورک محتمل رو یاد بگیره؟ بنظر شما یخورده زیادی سخت و طولانی و کسل کننده نمیشه؟
    آخرین ویرایش به وسیله eshpilen : شنبه 28 اسفند 1389 در 19:59 عصر

  34. #34

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط UnnamE مشاهده تاپیک
    اينجور كه شروع كردين فك كردم يا php يا .net زنده ميرن بيرون
    نه وجداني خواستين مثال بيارين، رفتين validate آوردين؟ نه اصلا؟
    اين جور بند و بساط كه مث نقل و نبات تو نت ريخته، تو نت نباشه هم همه اين كارهاي به قول خودتون RAD و فلان رو ميشه تو همين كافيشاپ RADPHP پياده كرد
    اينا مثال و فلان رو نشون بچه بدي خندش ميگيره مرد حسابي.
    3-4 روزه هي دودور دادار راه انداختين =))
    من از مورد کوچک و ساده شروع کردم. بعدا به موارد بهتر هم میرسیم انشاا...
    ضمنا حرف که معیار نیست. قرار شد فقط با نمونه کد نشون بدیم و اثبات کنیم. هنوز هم کدی که بقدر کد دات نت کوتاه و خوانا و سازگارتر با اصول مهندسی نرم افزار باشه ارائه نشده. شما سراغ دارید ارائه کنید.
    برنامه های ویژوال هم همه کار نمیکنن، بلکه در نهایت ساختار و تمیزی زبان برنامه نویسی خیلی مهمه. برای نگهداری و تغییر و باگیابی و غیره بطور مثال.

  35. #35

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط khoda2006 مشاهده تاپیک
    سلام
    بحث خیلی جالبیه
    از اونجا که من در حد مبتدی با دات نت و php آشنا هستم خواستم ببینم نحوه پیاده سازی آرایه ها در دات نت به اندازه پی اچ پی انعطاف پذیر هست یانه؟
    مثلا :
           <?php
    $arr = array("foo" => "bar", 12 => true);

    echo $arr["foo"]; // bar
    echo $arr[12]; // 1
    ?>

    همینطور که همه دوستان میدونن آرایه ها در پی اچ پی خیلی انعطاف پذیره و توی خود سایتش اینو نوشته :

    This type is optimized for several different uses; it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more.]

    ممنون میشم توضیح بدید
    موفق باشید
    همونطور که دوستان گفتن، دات نت برای هر کاری کلاس مخصوص داره. ساختار و اصول این دو زبان متفاوت هست.
    بحث ما هم نشون دادن روش پیاده سازی چیزهای مورد نیاز در این دو زبان هست.
    بنابراین شما در این تاپیک نباید به جزییات فنی خود زبان در سطح پایین بپردازید بدون اینکه کاربرد عملی و مقایسهء روش پیاده سازی در دو زبان مطرح باشه. بلکه باید عملا کاربرد نشون بدید که مثلا فلان کار که در توسعهء وب نیاز هست در PHP چطور انجام میشه و بعد ببینیم آیا دات نت نمیتونه اون کار رو انجام بده یا میتونه اما انجامش پیچیده تر و حجیم تر هست و کد کدامشون خونایی و امنیت بیشتری داره.

  36. #36
    hosseintdk775
    مهمان

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    بسم الله الرحمن الرحیم
    سلام
    دوستان یه پیشنهادی هم بکنم / وقتی کدی می دید ( و آماده برای اجرا هم هست ) زمان اجراش هم بزارید که متوجه بشیم چقدر طول می کشه تا کد/دستورات اجرابشن
    و اینکه اگه بشه مشخص کرد که چقدر از منابع هم استفاده می کنن هم مفید خواهد بود.

  37. #37

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    VSdotNET به دليل كنترلي كه روي فايلها داره، ميتونه Validation سمت سرور رو هم تنظيم كنه چون ميتونه فايل مقصد فرم رو هم ويرايش كنه ولي در اينجا چون بايد دستي انجام بشه،
    بله ساختار اجرای ASP.NET و محیط اون پیچیده تر و مجهزتر و منعطف تر از PHP هست. کنترل هوشمند و داینامیک بیشتری روی برنامه هست و چیزهای زیادی میتونن پشت صحنه بدون اینکه برنامه نویس حتی یک خط کد و یک فایل اضافه ببینه انجام بشن. درحالیکه PHP صرفا خط به خط برنامه رو از توی یکسری فایلهای متنی اجرا میکنه و هرچی هست و نیست برنامه نویس خودش باید به پروژه اضافه کنه و کدش موجود باشه.
    پشت صحنهء ASP.NET یک سیستم فرمان و نظارت کامل نشسته و سرویسهای مختلفی رو منجمله تولید و اجرای کدهای لازم در مراحل مختلف اجرای برنامه ارائه میکنه.
    پس فایل مقصد رو به اون صورت فیزیکی که شما میگید ویرایش نمیکنه، بلکه همهء اینا در محیط اجرای زنده و ناظر و هوشمند دات نت که کنترل زیادی در همهء مراحل اجرای برنامه داره در پشت صحنه انجام میشن و یا نهایتا کدهای اضافه شده در فایلهای کامپایل شده که بصورت بایت کد یا کد اجرایی حالا به هر شکلی هستن.
    آخرین ویرایش به وسیله eshpilen : شنبه 28 اسفند 1389 در 19:57 عصر

  38. #38

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط hosseintdk775 مشاهده تاپیک
    بسم الله الرحمن الرحیم
    سلام
    دوستان یه پیشنهادی هم بکنم / وقتی کدی می دید ( و آماده برای اجرا هم هست ) زمان اجراش هم بزارید که متوجه بشیم چقدر طول می کشه تا کد/دستورات اجرابشن
    و اینکه اگه بشه مشخص کرد که چقدر از منابع هم استفاده می کنن هم مفید خواهد بود.
    بنظر بنده اصلا مفید نیست. چون یک معیاری هست که به تنهایی ارزش و معنایی در این سطح و حیطهء برنامه نویسی نداره. بطور مثال در بحث برنامه نویسی وب، امنیت یکی از اولویت های اول هست. اگر سرعت یه برنامه ای 4 برابر برنامهء دیگری باشه ولی امنیتش حتی 50% هم کمتر باشه، بنده اون برنامه رو بهتر نمیدونم و ترجیح میدم از برنامهء دیگر استفاده کنم. چون مثلا اینکه برنامهء اول در یک دهم ثانیه اجرا میشه و برنامهء دوم در 4 دهم ثانیه، برای من تفاوت عملی مهمی ایجاد نمیکنه و این افزایش و کاهش سرعت مشکل خاصی رو بوجود نمیاره چون در نهایت 4 دهم ثانیه هم زمان کم و قابل قبولی هست، اما 50% کاهش در امنیت میتونه خیلی مهمتر باشه.
    معیار مهم دیگر، راحتی و سرعت در برنامه نویسی هست و اینکه خوانایی و قابلیت نگهداری برنامه در حد خوبی باشه.
    مسلما یک زبانی که امکانات سطح بالای کمتر و چک های امنیتی کمتری داره، سرعتش میتونه بالاتر بره. اما این چه ارزشی داره؟
    بنده دقیقا نمیدونم سرعت این دو زبان کدومش بیشتر هست. بهرحال فکر نمیکنم اونقدری مهم باشه. برای مشتری و برنامه نویس این اولویت اول نیست، براشون مهم نیست هاست ویندوز قیمتش دو برابر هاست لینوکس باشه (فکر نمیکنم قیمت سایت درمقابل دستمزد برنامه نویسی چیز زیادی باشه و پول درشت بحساب بیاد). بلکه اولویت اول منطقی بنظر بنده، امنیت، و راحتی و سرعت توسعه هست و سرعت سایت در حدی که کافی باشه یعنی کافیه و مشکلی وجود نداره. مثلا شما در سایتهایی که با ASP.NET کار میکنن میرید با مشکلی از نظر سرعت برمیخورید و این سایتها براتون قابل استفاده نیستن و تفاوت مهمی با سایتهای PHP احساس میکنید؟
    ما میتونیم با اسمبلی هم برنامه بنویسیم و سرعتمون حتی ده ها برابر بشه. ولی آیا کسی این کار رو میکنه و معقول هست این کار؟ پس مشخصه که سرعت در اینطور کارها معیار نیست. مگر اینکه واقعا سرعت اونقدری پایین بیاد که مشکل جدی و هزینه های سنگین ایجاد کنه.

  39. #39
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    بلکه باید عملا کاربرد نشون بدید که مثلا فلان کار که در توسعهء وب نیاز هست در PHP چطور انجام میشه و بعد ببینیم آیا دات نت نمیتونه اون کار رو انجام بده
    به نظر شما انعطاف پذیری آرایه ها در وب نیاز نیست!؟ در پی اج پی که خیلی عالی انجام میشه :D ، دات نت میتونه اینکار رو انجام بده!؟
    یعنی بدون مشخص کردن نوع داده مشخصی بشه به ارایه مقدار داد!؟

    $array=array('World',12,11.5,'Hello');
    ?

  40. #40

    نقل قول: مقایسهء عملی ASP.NET و PHP با نمونه کد

    نقل قول نوشته شده توسط eshpilen مشاهده تاپیک
    بله ساختار اجرای ASP.NET و محیط اون پیچیده تر و مجهزتر و منعطف تر از PHP هست. کنترل هوشمند و داینامیک بیشتری روی برنامه هست و چیزهای زیادی میتونن پشت صحنه بدون اینکه برنامه نویس حتی یک خط کد و یک فایل اضافه ببینه انجام بشن. درحالیکه PHP صرفا خط به خط برنامه رو از توی یکسری فایلهای متنی اجرا میکنه و هرچی هست و نیست برنامه نویس خودش باید به پروژه اضافه کنه و کدش موجود باشه.
    پشت صحنهء ASP.NET یک سیستم فرمان و نظارت کامل نشسته و سرویسهای مختلفی رو منجمله تولید و اجرای کدهای لازم در مراحل مختلف اجرای برنامه ارائه میکنه.
    پس فایل مقصد رو به اون صورت فیزیکی که شما میگید ویرایش نمیکنه، بلکه همهء اینا در محیط اجرای زنده و ناظر و هوشمند دات نت که کنترل زیادی در همهء مراحل اجرای برنامه داره در پشت صحنه انجام میشن و یا نهایتا کدهای اضافه شده در فایلهای کامپایل شده که بصورت بایت کد یا کد اجرایی حالا به هر شکلی هستن.
    اشتباه نكنيد، اين سيستم فرمان و نظارت كامل كه ميگين پشت صحنه ASPdotNET نشسته، محيط IDE قدرتمندي به نام VSdotNET هست نه امكانات خود اين زبان! براي مثال، همين كلاس CompareValidator رو يكبار بصورت دستي (با NotePad) مورد استفاده قرار بدين تا ببينيد كه با چه دردسري براي توليد كنترل سمت كلاينت و سرور و هماهنگ كردن اونها مواجه خواهيد شد. امكانات VSdotNET رو با ASPdotNET اشتباه نگيرين! چنين امكاناتي در ZF هم تا جايي كه مستنداتش رو بررسي كردم، وجود داره. بحث اصلي سر اينه كه من دارم يك كد مينويسم كه بصورت دستي و بدون فريمورك اين كار رو انجام بده. كاري كه در دات نت امكان پذير نيست (بدون dotNET Framework بايد گفت ASPX = null).
    موفق باشيد.

صفحه 1 از 5 123 ... آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •