بجای وادادن در برابر واقعیت تلخ، بهتر است آدمی بكوشد كه واقعیت را بسود خود دگرگون كند و اگر بتواند حتی یك واژه ی تازی را هم از زبان شیرین مادری خود بیرون بیندازد بهتر از این است كه بگوید چه كنم ! ناراحتم! ولی همچنان در گنداب بماند و دیگران را هم به ماندن در گنداب گول بزند!!
—مزدک بامداد
من فکر کنم شما واقعن برنامه نویسی بلد نیستید ! چون فرق وارد کردن کد مستقیم رو با وارد کردنشون به عنوان پارامتر در یک تابع یا متد نمیدونید !!!
تفاوت این دو کد بسیار واضح است :
The date is: <? echo Date(); ?> <BR>
<html> hello </html>
The date is: <%= Date %> <BR>
<html><% Response.Write("hello"); </html>
واقعن در عجبم که متوجه نشدی در کدی که خودت مثال زدی ، کدهای HTML مستقیم وارد نشده اند و برای نوشتن کلمه ی Hello که تازه خودش کد HTML lمحصوب نمیشود دست به دامن متد رایت از کلاس Response شدید !
ولی در نمونه ی PHP برای این کار من نه دست به دامن Echo شدم و نه دست به دامن Print بلکه فقط و فقط خیلی ساده نوشتم Hello .
در عین حال نمونه ی شما برعکسه !!!! یعنی شما وسط یک مشت کد HTML از سی شارپ استفاده کردید ولی نمونه ای که وسط کدهای سی شارپ به طور مستقیم از HTML استفاده شده باشه هنوز به ما نشان ندادی و تا جایی که من مطالعه کردم نمیتونی هم نشان بدی ، چون اگر این کار رو بکنی کامپایلر ازت خطا میگیره و برنامه ات اجرا نمیشه ! و البته در PHP هر دویش قابل انجام است . دلیل برتری هم ساده است - PHP فقط و فقط برای وبسایتهای پویا طراحی شده ولی سی شارپ از شیر مرغ تا جون آدمی زاد رو در نظر گرفته یعنی به نوعی آچار فرانسه هستش .
اگر فرق این دو را با هم نمیدانی پیشنهاد میکنم یک بازنگری کلی در مورد هر آنچه تا به حال در مورد برنامه نویسی خوانده بکن ، چون گویا یا اشتباه متوجه شده ای یا منابع درستی نداشته ای .
البته اگر باقی منابع شما هم مثل اون مقایسه ی سرعت سی شارپ با PHP باشد که ....
خلاصه اینکه شما هنوز نتونستید دلایل درستی برای برتری سی شارپ در زمینه ی طراحی وب نسبت به PHP به ما نشان دهید و فکر هم نمیکنم بتونید .
اینکه همیشه به یک چیز با دید تعصب و کورکورانه نگاه کنیم کار درستی نیست مهربد جان - حقیقت اینه که سی شارپ اگر چه در وب هم دستی برده ولی اصولن برای وب طراحی نشده و اگر کتابهای برنامه نویسی دات نت رو مطالعه کرده باشی مثل کتابهای هاروی دایتل متوجه میشی که بخش خیلی کوچکی از کتاب به طراحی وب اختصاص پیدا کرده ، مثلن یک فصل شایدم دو فصل و دلیلش هم اینه که سی شارپ هنوز خیلی راه داره تا به PHP در این زمینه برسه و البته PHP هم خیلی راه داره تا به CGI برسه .
یک چیز دیگه رو هم میگم بد نیست بدونی ، شی گرایی در برنامه نویسی وب یک نکته ی مثبت محصوب نمیشه چون برنامه نویسی شی گرا روی سر سرعت اجرای یک اسکریپت تاثیر میذاره به خصوص اگر اون اسکریپت از نوع تفسیری باشه .
برای همینه که اگر نگاهی به کدهای هسته ی درایور های سخت افزاری که بیشترین سرعت رو لازم دارند بیندازی متوجه میشی که همشون به صورت اسپاگتی کد نوشته شده اند .
به عبارت ساده تر ، شی گرایی شاید کار برنامه نویسی رو در طراحی وب راحت تر کنه که البته تجربه نشون داده این طوری نیست ولی روی سرعت و پرفرمنسش به شدت تاثیر میذاره .
یک نمونه ی ساده اش هم سیستم مدیریت محتوای جوملا هستش ، به قدری سنگینه که بلا استثناء هر سایت پر بیننده ای که با جوملا نوشته شده همیشه سرورش مشکل کمبود منابع پیدا میکنه و اگر هاست از نوع اشتراکی باشه طرف بن میشه - زندیق آرش بیخدا آخرین نمونه ازش بود که همه میشناسیمش .
همیشه قبل خواب دو تا شات بزن راحت بخواب!
دکتر ساسی
Rationalist (10-13-2012)
تفاوت؟ پس بالاخره میشود، اما تفاوت (در خوانایی) دارند؟
در اینجا ما چیز دیگری خواندیم:
نوشته اصلی از سوی sonixaxنوشته اصلی از سوی sonixax
میتوانیم اما تفاوت دارند، یا اینکه خیر، نمیتوانیم ولی یک جوری میتوانیم و تفاوت هم دارند؟
First approach:
کد سرراست (مستقیم):
کد:in C#: <%@ language="C#" %> <script runat="server"> string variable = "hi"; </script> <html> <%= variable %> </html> Reference: http://msdn.microsoft.com/en-us/library/6dwsdcf5%28VS.71%29.aspx in PHP: <?php $variable = "hi"; ?> <html> <?= $variable ?> </html>
Second approach:
کد ناسرراست (غیر مستقیم):
کد:in C#: <html> <%@ language="C#" %> <% Response.Write("hi"); %> </html> Reference: http://msdn.microsoft.com/en-us/library/ms525585%28v=vs.90%29.aspx in PHP: <html> <?php Echo "hi" ?> </html>
این هم یک درس رایگان از شیوه نگارش سرراست و ناسرراست.
پس در نهایت برای ما بگویید که آیا، شد و میشود و شدنی است، یا اینکه نه نمیشود و ناشدنی است؟
شاید هم، هم نمیشود و هم خوانا نیست و مرغ شما هم یک پا دارد؟
بجای وادادن در برابر واقعیت تلخ، بهتر است آدمی بكوشد كه واقعیت را بسود خود دگرگون كند و اگر بتواند حتی یك واژه ی تازی را هم از زبان شیرین مادری خود بیرون بیندازد بهتر از این است كه بگوید چه كنم ! ناراحتم! ولی همچنان در گنداب بماند و دیگران را هم به ماندن در گنداب گول بزند!!
—مزدک بامداد
دیگه یقین پیدا کردم که اطلاعات شما در مورد برنامه نویسی بسیار بسیار اندک است چرا که خودتان در کدی خودتان نوشتید نمیفهمید که به طور مستقیم کد HTML در سی شارپ وارد نکرده اید .
این بحث کودکانه هم با شما فایده ای ندارد چون شما هنوز درک درستی از شرت کد و کد های مستقیم و غیر مسقیم ندارید و کل کل شما در این زمینه با من درست مانند کل کل یک کودک دبستانی با یک دانشجو هستش .
به خصوص که این تکه ی کد شما نشان میدهد که شما اصلن هیچ چیزی در مورد PHP نمیدانید :
ما در PHP از این مدل تگها نداریم : <?=کد PHP:
<?php
$variable = "hi";
?>
<html>
<?= $variable ?>
</html>
این مساله ابتدایی ترین داستان در برنامه نویسی به زبان PHP است که شما از آن آگاه نیستید بعد دارید سر مسایل بزرگترش با من کل کل میکنید ؟
در ریفرنسی هم که خودتان از MSDN آورده اید کد HTML به طور مستقیم در برنامه ی سی شارپ شما وارد نشده ، اگر این را نمیفهمید مشکل من نیست بروید اندکی مطالعه بفرمایید .
بهتر است یک دور دیگر آنچه پیشتر گفته بودم و شما کودکانه وار و بدون اطلاعات کافی ردش کردید را دوباره بنویسم :
در سی شارپ امکان وارد کردن مستقیم کدهای HTML در بین کدهای سی شارپ وجود ندارد .
جلوتر هم که در مورد ناخوانایی کدهای سی شارپ نسبت به PHP بحث شد که جنابعالی نوشته های خودتان را هم فراموش کرده اید گویا میخواهید ادعاهایتان را یکبار دیگر لیست کنم ؟
- اولی را که نشانتان دادیم اشتباه مکنید و ریفرنستان هم که در پیتی از آب در آمد .
- دومی را هم که خودتان در همین پست آخری نشان دادید سینتکس PHP خوانا تر و کوتاه تر از سی شارپ است .
- سومی هم که توضیح دادم چرا خیلی در وب به درد نمیخورد .
- میماند مساله ی ناتوانی در مورد وارد کردن مستقیم کدهای HTML که چنین امکانی در سی شارپ وجود ندارد ، ولی عکس آن یعنی وارد کردن کدهای سی شارپ ما بین HTML تگ ها آن هم فقط و فقط در ASP.NET به صورت ناخوانا و شیر تو شیر قابل انجام است که ما با این مورد مشکلی نداریم .
حالا چه طور با توجه به اینکه ادعاهای شما نقض شده اند و با توجه به گستردگی استفاده از PHP توسط برترین های جهان و قیمت هنگفت سی شارپ نسبت به PHP و متن باز نبودنش و تبدیلش ابتدا به یک زبان میانی و سپس تفسیرش توسط یک مفسر دیگر و سرویس کردن دهن منابع سیستم و امنیت پایین ویندوز نسبت به لینوکس و یونیکس و پشتیبانی مزخرف و ... شما ادعا میکنید سی شارپ در زمینه ی وب از PHP بهتر است خود یک مساله ی اعجاب آور است !
همیشه قبل خواب دو تا شات بزن راحت بخواب!
دکتر ساسی
Rationalist (10-13-2012)
باز هم از این ادعاهای سنگین نداریم و نمیشود کردید که:
نوشته اصلی از سوی php.netنوشته اصلی از سوی php.net
دستکم زبان خودتان را درست یاد بگیرید، بیسواد.
براستی که ناآگاهی خود را هر چه بیشتر نشان میدهید. وارد کردن سرراست و مستقیم کدهای HTML در میان کدهای برنامه، نه در PHP شدنی است و نه در #C.نوشته اصلی از سوی sonixax
در هر دو زبان شما تگ خود را میبندید و HTML را در دنباله مینویسید که به آن در PHP میگویند Inline code و در asp.net با نام Embedded code block بکار میرود.
به بیان دیگر، شما میتوانید در میان کُدهای HTML، بخشی از کُد برنامه خود (و یا همه آن) را بنویسید و نه باژگون. از آنجاییکه
شما در درک این مفهوم عاجز بودهاید، به این شکل در نظر گرفتهاید که دارید در میان کُد برنامه HTML وارد میکنید، که البته نادرست است.
Conditional inline tag:
کد:<% if (User.IsInRole("admin")) { %> You can see this <% } else { %> You are no admin fool! <%} %>
بقیه نوشته هم سفسته فرسایشی بود و تکرار مکررات.
البته برای ما که روشن است در آینده هم مرغ شما یک پا خواهد داشت، ولی برایمان بیشتر بگویید، دیگر چه کارهای نمیتوان انجام داد (ناشُدنیها!) و چه تگهای دیگری هم نیستند و این سخنا
ویرایش از سوی Mehrbod : 10-17-2011 در ساعت 12:39 PM
بجای وادادن در برابر واقعیت تلخ، بهتر است آدمی بكوشد كه واقعیت را بسود خود دگرگون كند و اگر بتواند حتی یك واژه ی تازی را هم از زبان شیرین مادری خود بیرون بیندازد بهتر از این است كه بگوید چه كنم ! ناراحتم! ولی همچنان در گنداب بماند و دیگران را هم به ماندن در گنداب گول بزند!!
—مزدک بامداد
دیگر واقعن به این نتیجه رسیدم که بیسوادی و بی اطلاع !
آخرین نگارش قابل دسترس و البته پاایدار PHP نسخه ی 5.3.8 هستش ، هر وقت 5.4.0 آمد بیایید از این حرفها بزنید .
http://php.net/downloads.php
در منبع خودتان هم آمده که تا قبل از 5.4.0 نیاز به تنظیم کردن short_open_tag برای این داستان هست و به صورت پیشفرض در PHP وجود ندارد . البته من از این داستان اطلاعی نداشتم و به نظر من مشکلی نیست که آدم بگوید نمیدانم . ولی با همه ی اینها همانی است که ما گفتیم با کمی تغییر ، ما در PHP به صورت پیشفرض از این مدل تگها نداریم . چون شما در PHP میتوانید از <% هم استفاده کنید ولی جزو پشفرضهای زبان محصوب نمیشوند . (در فایل php.ini مقدار بولیانasp_tags را True کنید ) ولی چه کسی ازش استفاده میکند ؟PHP 5.3.8 (Current stable)
این برایم قابل درک است که شما دارید گوگل را زیر و رو میکنید و به هر چیزی چنگ میندازید که بگویید شما هم بلدید و اشتباهات قبلی و ادعاهای مشکل دار قبلی را ماست مالی کنید ولی این راهش نیست مهربد جان .
من میدانم که سر آن داستان سرعت PHP و منبع در پیتیتان بهتان فشار آمده ولی اینطوری با بیسواد بازی نمیتوانید چیزی را اثبات کنید . شما هنوز درک درستی از آنچه من نوشته ام ندارید .
هنوز دوزاری کجتان نیوفتاده که در دات نت شما مجبورید برای وارد کردن کدهای HTML در لابلای کدهای خودتان از متدهای همان زبان استفاده کنید ولی در PHP نیازی به این کار نیست .
باز هم نشان از بیسوادی شما دارد این حرف ، در برنامه نویسی PHP هر دو قابل انجام است که من پیشتر هم گفته ام - این مشکل من نیست که شما تجربه کاریتان با زبان PHP و آشناییتان در حد همین سرچهای گوگلی دوزاری مانند آن ریفرنس قبلیتان است .
بروید یک مقداری یاد بگیرید بعد بیایید کل کل بفرمایید ، دست از سر سرچهای گوگلی هم بردار عزیزم چون یک چیزهایی پیدا میکنی بدون اینکه بدونی در باره ی چی نوشته اینجا کپی کیلوییش میکنی و آخرش رو هم بلد میکنی که مثلن بگی حق با شما بوده قافل از اینکه حد اقل یک کلیک بر روی لینک دانلود سایت اختصاصی PHP بیندازید ببینید این نسخه منتشر شده یا خیر ! - با سرچ کردن سواد شما بالا نمیرود با مطالعه سواد شما بالا میرود . با این حال برایم جالب بود که شما Manual را از اول شروع به خواندن کرده اید و چیزی را در میان آن استخراج کرده اید که هیچ برنامه نویس PHP ای در کدش از آن استفاده نمیکند چون به صورت پیشفرض قابل دسترس نیست + این :
در PHP به آن میگویند EscapeUsing short tags should be avoided when developing applications or libraries that are meant for redistribution, or deployment on PHP servers which are not under your control, because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.
چون قافیه تنگ آید ، شاعر به جفنگ آید - از سرعت بیشتر PHP و قابلیت های نسخه های بعدی که هنوز ارایه نشده اند و وارد کردن تگها و ... رسیدیم به بحث فرسایشی و پرندگان و چرندگان
خوب دیگه سی شارپ چه برتریهایی داره ؟
سرعت و سینتکس خواناتر رو که گند زدید رفت باقیش چی ؟
پ.ن : راستی امانت داری در نقل یک چیزی رعایت شود : http://naspinski.net/post/inline-aspnet-tags-sorting-them-all-out-(3c25242c-3c253d2c-3c252c-3c252c-etc).aspx
ویرایش از سوی sonixax : 10-17-2011 در ساعت 01:38 PM
همیشه قبل خواب دو تا شات بزن راحت بخواب!
دکتر ساسی
Note: This directive also affected the shorthand <?= before PHP 5.4.0, which is identical to <? echo.
Use of this shortcut required short_open_tag to be on. Since PHP 5.4.0, <?= is always available
از آنجاییکه گمان میکنم انگلیسی هم نمیدانید، Before، چَم و معنی پیش (قبل) را دارد. به بیان دیگر، این
تگ در نگارشهای پیشین به صورت پیشفرض باز است و از (since) نگارش 5.4 همواره باز خواهد بود.
نوشته اصلی از سوی sonixax
بازهم سفسته و مالهکشی.نوشته اصلی از سوی sonixax
در سرچشمهای که من آوردم هیچ سخنی از تنظیم کردن و مقدار پیشفرض آن نشده است. برای دیدن پیشفرض این directive ها میتوانید بروید اینجا:
http://php.net/manual/en/ini.core.php
کد:Name Default short_open_tag "1" asp_tags "0" precision "14" serialize_precision "17" y2k_compliance "1" allow_call_time_pass_reference "1" ...
و همچنان که میبینید، بر پاد سخن مفت شما، تگ آن (short_open_tag) در ریخت پیشفرض خود (default)
همواره باز بوده و از نگارش 5.4 به بالا نیز، یکی از بخشهای مهادین زبان شده و نمیتوان آن را "خاموش" کرد.
کسانی که کاربرد آن را میدانند؟نوشته اصلی از سوی sonixax
بجای وادادن در برابر واقعیت تلخ، بهتر است آدمی بكوشد كه واقعیت را بسود خود دگرگون كند و اگر بتواند حتی یك واژه ی تازی را هم از زبان شیرین مادری خود بیرون بیندازد بهتر از این است كه بگوید چه كنم ! ناراحتم! ولی همچنان در گنداب بماند و دیگران را هم به ماندن در گنداب گول بزند!!
—مزدک بامداد
http://stackoverflow.com/questions/2...g-in-php-5-3-1
https://wiki.php.net/rfc/shortags
PHP 5_1, 5_2:
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : off
PHP 5_3:
* Default behaviour : on
* php.ini-development : off
* php.ini-production : off
همیشه قبل خواب دو تا شات بزن راحت بخواب!
دکتر ساسی
خوب تا اینجای کار داشتیم :
۱ - سی شارپ از PHP سریع تر است (طبق منبع بسیار بسیار بسیار معتبر پست شماره ی ۱۲ )
۲ - کد سی شارپ از PHP خوانا تر و دستور زبانی ساده تر دارد (طبق نمونه های آورده شده و پست شماره ۱۶)
۳ - استفاده از شورت کد ها در PHP بایسته است و کسانی که کاربردش را میدانند قدرش را میدانند (گور پدر خود PHP که گفته با XML مشکل پیدا میکنه)
۴ - PHP زبان برنامه نویسی نیست (طبق پست شماره ی ۷)
۵ - اینکه شرکتهای بزرگ برای کارهای خودشان از PHP استفاده میکنند نشان از برتری اون نداره بلکه به عکس نشون میده عجب زبان مزخرف و آشغالی هستش
۶ - استفاده ی مستقیم از کدهای HTML در میان کدهای PHP شدنی نیست
ادامه بدهید و بیشتر درس رایگان به ما بدهید تا بیشتر فیض ببریم
همیشه قبل خواب دو تا شات بزن راحت بخواب!
دکتر ساسی
هماکنون 1 کاربر سرگرم دیدن این جُستار است. (0 کاربر و 1 مهمان)