PHP برای برنامه نویسان ASP.NET – قسمت دوم

قسمت اول را در اینجا بخوانید.

پردازش فرم ها

ASP.NET تمام سعی خود را کرده تا برنامه نویس را درگیر پردازش فرم های HTML نکند. در واقع یک برنامه نویس ASP.NET ممکن است با فرم های HTML آشنایی نداشته باشد اما در هر صفحه وبی که ایجاد می کند از آن ها استفاده کند. ASP.NET به صورت پیش فرض در هر یک از صفحات aspx یک فرم HTML قرار می دهد تا برنامه نویس بتواند با داده های ورودی کاربر کار کند. شاید در ASP.NET احتیاجی به دانستن نحوه ایجاد و کارکرد فرم های HTML نداشتید اما پردازش فرم های وب یکی از ملزومات اساسی PHP است.

فرم وب

اطلاعات فرم های HTML به دو روش Get و Post فرستاده و دریافت می شوند. در ASP.NET شاید این روش ها از دید برنامه نویس پنهان بمانند اما در PHP این برنامه نویسان هستند که باید در مورد استفاده از این روش ها در شرایط مختلف تصمیم گیری کنند. اطلاعات فرم ها در ASP.NET همیشه به خود صفحه فرستاده می شوند و به صورت پیش فرض از متد post برای این کار استفاده می کند. هنگامی که اطلاعات فرم به سرور برای پردازش فرستاده می شود و دوباره به صفحه باز می گردد، یک PostBack اتفاق می افتد. برای اینکه از متد get استفاده کنیم می توانیم یکسری پارامتر به صفحه مورد نظر خود بفرستیم و در صفحه مقصد با استفاده از Request.QueryString (که آرایه ای است از پارامترهای فرستاده شده توسط صفحه مبدا) اطلاعات فرستاده شده را بخوانیم.

اما در PHP این پروسه تفاوت زیادی دارد. شما باید خودتان در مورد متد ارسال اطلاعات تصمیم گیری کنید. در PHP اطلاعاتی که به روش get فرستاده می شوند را می توان در آرایه $_GET و اطلاعاتی که به روش post فرستاده می شوند را در آرایه $_POST پیدا کرد.

روش Post

همانطور که گفتم ASP.NET از این روش به صورت پیش فرض برای پردازش فرم ها استفاده می کند. در PHP شما می توانید با استفاده از متغیر سراسری $_POST به اطلاعات فرستاده شده توسط این روش دستیابی پیدا کنید. یک مثال کوچک می تواند مسئله را روشن تر کند :

<form action=«welcome.php» method=«post»>
Name: <input type=«text» name=«fname» />
<input type=«submit» name=«btnSubmit» />
</form>

یک فرم ساده HTML ساختیم که اطلاعات خودش (فیلد نام) را به صفحه welcome.php با روش post می فرستد. حالا فایل welcome.php را به صورت زیر می سازیم :

Welcome <?php echo $_POST[«fname»]; ?>!<br />

با این یک خط کد ساده اطلاعات فیلد fname را که در صفحه قبل قرار داشت، خواندیم. PHP در روش Post به صورت خودکار فیلدهای فرم را شناسایی می کند. اطلاعات ارسالی توسط این روش برای دیگران قابل رویت نیست و محدودیتی در حجم اطلاعات ارسالی نداریم. البته به صورت پیش فرض ماکزیمم حجم اطلاعات ارسالی در روش Post در PHP برابر با 8 مگابایت است که این مقدار را می توانید در فایل php.ini و با تغییر ثابت post_max_size در این فایل تغییر دهید.

یکی از کاربردهای مهم روش post که در ASP.NET هم استفاده می شود، اعتبار سنجی سمت سرور یا Server Side Validation است. به این صورت که اطلاعات فرم را به جای اینکه به یک صفحه دیگر بفرستید به خود صفحه می فرستید تا عمل اعتبار سنجی انجام شود. سپس اگر اطلاعات ورودی خطایی داشته باشد، در همین صفحه از کاربر می خواهید که اطلاعات را صحیح وارد کند. این روش برای اعتبارسنجی سمت سرور اطلاعاتی که می خواهند در دیتابیس ذخیره شوند بسیار مرسوم است.

روش Get

بر خلاف متد post، اطلاعاتی که با این روش فرستاده می شوند توسط همه قابل رویت هستند. کاربران این اطلاعات را در نوار آدرس مرورگر خود می بینند و برای اطلاعات ارسالی محدودیت حجمی داریم. متغیر $_GET در PHP شامل اطلاعات فرمی است که با متد get ارسال شده است. به مثال زیر توجه کنید :

<form action=«welcome.php» method=«get»>
Name: <input type=«text» name=«fname» />
<input type=«submit» />
</form>

برای نشان دادن اطلاعاتی که از این فرم به فایل welcome.php با استفاده از روش get فرستاده می شود، فایل welcome.php را به صورت زیر می سازیم :

Welcome <?php echo $_GET[«fname»]; ?>.<br />

هنگامی که کاربر روی دکمه submit فرم کلیک کند، نوار آدرس مرورگر او آدرسی شبیه به آدرس زیر را نشان خواهد داد :

http://yoursitename.com/welcome.php?name=value

این همان QueryString خودمان در ASP.NET است! در  URL بالا قسمتی که آبی است و بعد از علامت سئوال قرار گرفته را Query String می گویند. ما در ASP.NET برای دسترسی به مقدار پارامتر name در URL بالا از دستور زیر استفاده می کنیم :

Request.QueryString[«fname»]

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

نکات تکمیلی

ما در ASP.NET قبل از اینکه از مقادیر موجود در QueryString استفاده کنیم، چک می کنیم که مقداردهی شده باشد، یعنی null نباشد. برای این کار از کدی شبیه به زیر بهره می بریم :

if (Request.QueryString[«fname»] != null)
//do something

معادل شرط بالا در PHP کدی شبیه به کد زیر است :

if (isset($_GET[«fname»]){
//do something
}

یعنی اگر فیلد fname مقداردهی شده بود عمل مورد نظر را روی آن انجام بده.

farasun.wordpress.com

در مطلب بعد با کوکی ها و نحوه استفاده از آن ها در PHP آشنا خواهید شد. برای اینکه مطالب بعدی را از دست ندهید مشترک فراسان شوید! چطور مشترک شوید؟

farasun.wordpress.com

این مطلب ادامه دارد…

پ.ن : از این به بعد برای تماس با من از این فرم استفاده کنید!

PHP برای برنامه نویسان ASP.NET – قسمت اول

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

PHP for ASP.NET Developers

همانطور که می دانید ASP.NET یک زبان نیست، بلکه یک فریم ورک رایگان و مجموعه ای از مولفه های نرم افزاری است که شما می توانید به کمک آن وب اپلیکیشن هایی را با زبان هایی مثل سی شارپ و ویژوال بیسیک بنویسید. برنامه های ASP.NET ابتدا کامپایل می شوند و سپس روی سرور اجرا می شوند. PHP یک زبان اسکریپت نویسی کدباز است که دارای کتابخانه های مختلفی برای انجام دادن کارهای مورد نیاز در وب است. کدهای PHP معمولاً با کدهای HTML ترکیب می شوند و پس از تفسیر توسط مفسر PHP به مرورگر فرستاده می شود.

سینتاکس PHP

PHP از خانواده زبان های C است، قواعد نوشتن دستورات PHP کاملاً شبیه به زبان C است. به طور مثال باید در آخر هر دستور از علامت ; استفاده کنید. اگر با سی شارپ آشنا باشید برای یادگیری سینتاکس PHP مشکلی نخواهید داشت. به یک مثال کوچک و ساده از PHP توجه کنید :

<html>
<head>
<title>
PHP Test</title>
</head>
<body>

<?php echo ‹<p>Hello World</p>›; ?>
</body>
</html>

همانطور که گفتم می توان دستورات PHP را داخل یک فایل HTML نوشت. ما در ASP.NET وقتی بخواهیم در لابه لای کدهای HTML برنامه نویسی کنیم از تگ های <% %> استفاده می کنیم. در PHP هم برای اینکه بتوانیم به مفسر بفهمانیم که این دستورات را برای ما تفسیر کند، بایستی کدهای خود را در تگ های <?php و <? قرار دهیم. دستور echo در اینجا همان کار Response.Write را انجام می دهد. در حقیقت دستور معادل آن یک خط کد PHP در ASP.NET دستور زیر است :

Response.Write(«<p>Hello World</p>»);

متغییر ها در PHP

برای تعریف یک متغیر در PHP یک علامت $ در ابتدای نام متغیر می گذاریم و سپس آن را برابر مقداری که می خواهیم در آن متغیر ذخیره شود قرار می دهیم. برخلاف زبان های ASP.NET که حتماً باید نوع یک متغیر را در هنگام تعریف آن صریحاً اعلام کنید، در PHP این کار لازم نیست و خود مفسر با توجه به مقداری که درون متغیر می ریزید نوع آن را تعیین می کند. به مثال زیر توجه کنید :

<?php
$a = «iman»; // string
$b = 22; // integer
$c = TRUE; // boolean
$d = 24.895; //float
?>

فکر نمیکنم نیازی به توضیح اضافی باشد. امیدوارم این را بدانید که کلمات بعد از // به عنوان توضیحات نوشته شده اند! البته PHP دارای انواع دیگری نیز هست که ما در این مطب به آن ها نخواهیم پرداخت. فقط برای استفاده از یک متغیر باز هم باید نام آن را با $ همراه سازید. برای مثال برای چاپ مقدار متغیر a که در بالا تعریف کردیم باید به صورت زیر عمل کنیم :

echo ‹my name is $a›;

همچنین برای تعریف یک ثابت در PHP از سینتاکس زیر پیروی کنید :

define(«CONST_NAME», «farasun»);

تعریف توابع در PHP

می خواهیم متد زیر که به زبان سی شارپ است را به یک تابع PHP تبدیل کنیم :

private bool Example(int arg)
{
if (arg == 10) return true;
else return false;
}

همانطور که گفتیم در PHP هنگام تعریف متغیر نوع آن را مشخص نمی کنیم. در تعریف تابع نیز احتیاجی به تعیین نوع برگشتی تابع یا نوع آرگومان های آن نداریم. تابع متناظر با متد بالا در زبان PHP چنین چیزی می شود :

function Example($arg)
{
if ($arg == 10) { return TRUE; }
else { return false; }
}

مشاهده می کنید که در اینجا دیگر خبری از کلمات کلیدی private یا bool نیست! در ASP.NET هر صفحه خودش یک کلاس است اما در PHP چون به صورت پیش فرض کلاسی وجود ندارد پس خبری از private یا public بودن تابع نیست. برای صدا زدن تابع نیز کافیست نام آن را همراه با پارامترهای آن صدا بزنیم. همانند سی شارپ یا ویژوال بیسیک خودمان!

جایگزینی برای Response.Redirect

ما در ASP.NET برای فرستادن کاربر به یک صفحه وب دیگر از Response.Redirect استفاده می کنیم که در حقیفت یک درخواست به مرورگر کاربر برای تغییر صفحه وب می فرستد. در PHP تابعی به نام header وجود دار که کی تواند یک هدر HTTP را به مرورگر کاربر بفرستد. با کد PHP زیر می توانیم کاربر را به سایت گوگل بفرستیم :

header(«location: http://www.google.com&raquo;);

جایگزینی برای Request.Url

برای بدست آوردن آدرس URL صفحه وب جاری در ASP.NET از Request.Url استفاده می کنیم. در PHP می توانیم این آدرس را با روش زیر بسازیم :

$host = $_SERVER[‹SERVER_NAME›];
$uri = $_SERVER[‹PHP_SELF›];
echo «$host$uri»;

متغیر host آدرس سایت (به طور مثال http://emaple.com) و متغیر uri آدرس فایل (به طور مثال directory/test.php) را ذخیره می کند. سپس در خط سوم این دو به هم می چسبند و آدرس کامل صفحه را چاپ می کنند.

نکات تکمیلی

در این مطلب کوتاه نمی توان تمام جایگزین ها را معرفی کرد. اکثر جایگزین های پراپرتی ها و متدهای شیء Request را می توانید در متغیر رزور شده $_SERVER پیدا کنید. مستندات کامل این متغیر را در اینجا بخوانید. به علت شباهت زیاد PHP با زبان های خانواده C در اینجا از آموزش ساختارهای کنترلی این زبان مانند if و switch و حلقه های for و while اجتناب کردیم. اگر سی شارپ بلد باشید مطمئن باشید این دستورات PHP را نیز بلد خواهید بود.

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

farasun.wordpress.com

این مطلب ادامه دارد…

سخت بودن زبان برنامه نویسی، دلیل برتری نیست!

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

spl2

خیلی ها فکر می کنند هر چه یادگیری یک زبان برنامه نویسی سخت تر باشد، حتماً بر زبان های دیگر برتری دارد. این تفکر در دنیای امروز واقعاً مسخره است! به طور مثال یکی از سخت ترین زبان های برنامه نویسی سی++ است. به نظر شما یک برنامه نویس سی++ چه برتری بر یک برنامه نویس ویژوال بیسیک دات نت دارد!؟ تفاوت ها نسبی است. مثلاً برنامه نویس سی++ می تواند یک درایور سخت افزاری بنویسد اما برنامه نویس وی بی دات نت نمی تواند. حالا به نظر شما کدام بهتر می توانند یک وب اپلیکیشن بنویسند!؟ کدام سریعتر می تواند یک نرم افزار تولید کند!؟ کدامیک ابزارهای قوی تری برای توسعه در اختیار دارد!؟ خروجی کدامیک سریعتر اجرا می شود!؟
اخیراً بسیاری از برنامه نوسان سی++ به جاوا و سی شارپ روی آورده اند. چرا!؟ مگر سی++ سخت تر نیست! پس چرا این ها به یک زبان ساده تر روی آورده اند!؟
پاسخ این است که در دنیای امروز، برنامه نویسان باید پلت فرم محور باشند نه زبان محور. زبان برنامه نویسی هر چقدر هم که قوی و سخت باشد، اگر توسط یک پلت فرم قدرتمند و شناخته شده پشتیبانی نشود هیچ ارزشی نخواهد داشت. به طور مثال در سیستم عامل لینوکس از سی++ به خوبی پشتیبانی می شود اما در وب اینطور نیست. این سی++ را به یک انتخاب مناسب برای نوشتن برنامه های مبتنی بر لینوکس و به یک انتخاب نا مناسب برای نوشتن برنامه های مبتنی بر وب تبدیل می کند. PHP در وب به خوبی پشتیبانی می شود و برای توسعه برنامه های تحت وب بسیار مناسب است اما در بقیه موارد حرفی برای گفتن ندارد.

البته کسی که سی++ بلد باشد و بعد از آن مثلاً PHP را شروع کند خیلی سریعتر و بهتر از کسی که قبلاٌ مثلاً با ویژوال بیسیک آشنا بوده،PHP را یاد می گیرد. همانطور که گفتم پلت فرم از زبان خیلی مهم تر است. من می توانم به شما قول دهم که شما می توانید در عرض 3 ماه سی++ را به طور کامل یاد بگیرید، اما نمی توانید در فقط 3 ماه یک برنامه نویس وب حرفه ای شوید. یادگیری سینتاکس یک زبان برنامه نویسی هر چقدر هم که مشکل باشد، در 3 یا 4 ماه میسر می شود اما یادگیری یک پلت فرم برنامه نویسی مانند دات نت و حرفه ای شدن در آن به این سادگی ها نیست!

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

farasun.wordpress.com

اگر علاقه مند بودید، نظر خود را بنویسید تا بحث را ادامه دهیم.

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

بررسی بهترین ویرایشگرهای متن آنلاین برای توسعه دهندگان وب

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

rte

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

TinyMCE

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

FCKeditor

ویرایشگریست که سعی می کند بیشتر امکانات ویرایشگرهای تحت دسکتاپ مانند MS Word را در وب پیاده سازی کند. سبک است و برای استفاده از آن احتیاجی به نصب در کامپیوتر کلاینت ندارد. این ها جملاتی است که در وب سایت رسمی FCKeditor در وصف آن نوشته شده اند. این ویرایشگر قدرتمند با تمامی مرورگرهای استاندارد سازگار است و با بیشنر زبان های برنامه نویسی تحت وب مجتمع می شود. امکانات مناسب برای قالب بندی متن، پشتیبانی از CSS، آپلود تصاویر، مرور فایل های روی سرور، ایجاد جدول، درج فرم فیلد، منوی راست کلیک (Context Menu) اختصاصی، پوسته اختصاصی، تشخیص خودکار مرورگر کاربر و خروجی HTML مطلوب از قابلیت های این ویرایشگر هستند.

Yahoo! UI Editor

یاهو یکی از پیشرو ترین شرکت های وب در زمینه تولید ابزارهای مربوط به توسعه دهندگان وب است. کنترل Rich Text Editor یاهو یکی از بهترین و قدرتمند ترین راه حل ها در این زمینه است. از امکانات این ویرایشگر میتوان به مجوز اوپن سورس، قابلیت های خوب قالب بندی متون، پشتیبانی از مرورگرهای مختلف، تنظیمات قابل انعطاف، پشتیبانی از قابلیت کشیدن و رها کردن و روش شیء گرا در برنامه نویسی آن اشاره کرد. این کنترل جزئی از پروژه کتابخانه YUI شرکت یاهو! است.

FreeRichTextEditor

یک ویرایشگر قدرتمند و مبتنی بر جاوا اسکریپت که با اضافه کردن فقط سه خط کد به صفحات خودتان می توانید به کاربران خودتان لذت استفاده از یک ویرایشگر زیبا و قوی را بدهید. ظاهر این ویرایشگر شبیه به MS Word ساخته شده که کاربران با آن احساس نا آشنایی نکنند. تقریباً تمام امکاناتی که از یک ویرایشگر تحت وب انتظار دارید، FreeRichTextEditor دارای آن می باشد.

NiceEdit

یک ویرایشگر بسیار سبک، کم حجم و با نصب آسان است که روی تمام مرورگرها و سیستم عامل های موجود به خوبی کار می کند. هر چند مانند TinyMCE و FCKeditor قوی نیست و امکانات کمتری دارد اما برای کسانی که یک ویرایشگر ساده و بدون دردسر نیاز دارند بسیار مناسب است. این ویرایشگر سبک فقط 35کیلوبایت حجم دارد و فقط از دو فایل (js و icon) تشکیل شده است. این را با تعداد فایل های دیگر ویرایشگر ها مقایسه کنید. پشتیبانی از متد HTTP Post و AJAX برای ذخیره متن خروجی، کم حجم بودن، اسفاده آسان هم برای برنامه نویسان و هم برای کاربران نهایی، تنظیمات قابل انعطاف و پشتیبانی از تمامی مرورگرهای استاندارد از مزایای استفاده از NiceEdit هستند.

FreeTextBox

پر استفاده ترین ویرایشگر متن در دنیای ASP.NET است. بسیاری از وب سایت های مبتنی بر تکنولوژی ASP.NET از FreeTextBox به عنوان ویرایشگر HTML استفاده می کنند. کاملاً با IE و فایرفاکس سازگار است و امکانات خوبی به کاربر نهایی جهت قالب بندی متن می دهد. نسخه های اخیر این ویرایشگر روی پلت فرم مونو هم اجرا می شود.

RTE ASP.NET Control

اگر شما هم مثل من یک برنامه نویس ASP.NET هستید، حتماً با User Controlها آشنایی دارید. هدف این پروژه در کدپلکس جمع آوری تمامی امکانات یک ویرایشگر متن غنی در یک کنترل ASP.NET است. فایل dll این ویرایشگر را به شاخه bin پروژه خود اضافه کنید و به راحتی در هر صفحه ای که خواستید از آن استفاده کنید. متاسفانه کیفیت خروجی این کنترل هنوز به سطح مطلوبی نرسیده و به جز IE و فایرفاکس، از مرورگر دیگری پشتیبانی نمی کند.

Silverlight RichTextEditor

همانطور که از عنوان این ویرایشگر پیداست، یک ویرایشگر غنی برای سیلورلایت است. اوپن سورس است و با سیلورلایت نسخه 2 سازگاری دارد. متاسفانه در حال حاضر توسعه این پروژه تا اطلاع بعدی متوقف شده است.

farasun.wordpress.com

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

[Code to look] شنبه 20 تیر 88

سلام، قرار بود هر 10 روز يکبار در اين وبلاگ شاهد پست هايي با عناون «Code to look» باشيد که شامل لينک هايي به سورس کدهاي آموزشي جالب و مناسب باشد. متاسفانه به علت هاي گوناگوني اين کار انجام نشد و حالا با گذشتن دو ماه از اولين پست Code to look، دومين مطلب اين دسته بندي جديد وبلاگ منتشر مي شود. از اين به بعد هر يک ماه يکبار و نه هر 10 روز يکبار، در اين وبلاگ شاهد يک مطلب در اين دسته بندي خواهيد بود. يک ماه هم فرصت مناسبي است براي من که کدهاي جالب پيدا کنم و هم براي شما که حداقل نگاهي به آن ها بيندازيد.

کد نمونه های دات نت

Writing Thread Safe Code in C#x

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

دريافت کنيد

مثال ساده کار با Entity Framework

یک مثال ساده که نحوه کار کردن با Entity Framework را به شما در قالب یک پروژه ASP.NET آموزش می دهد. Entity Framework یک فریم ورک ORM برای دات نت فریم ورک است که مایکروسافت در سرویس پک دات نت فریم ورک 3.5 آن را عرضه نموده است.

دريافت کنيد

ايجاد يک Skype bot در دات نت

نحوه ارتباط با نرم افزار Skype و ایجاد یک سیستم جواب دهی خودکار در این نرم افزار را توسط دات نت و سی شارپ به شما آموزش می دهد.

دريافت کنيد

ساخت يک اپليکيشن سه لايه با استفاده از سيلورلايت 3، x.NET RIA Services و Azure TableStorage کد نمونه روز!

azurePlatform_web

اگر با مباحث تئوری «محاسبات ابری» آشنایی دارید، زمان آن رسیده است که به صورت عملی با این مفهوم آشنا شوید. این کد نمونه به شما نشان می دهد که چگونه می توان با استفاده از ابزارهای توسعه مایکروسافت یک اپلیکیشن روی ابر ساخت. در این پروژه سیلورلایت 3.0 به عنوان لایه نمایش، x.NET RIA Services برای لایه Business logic و Azure TableStorage برای پیاده سازی لایه دسترسی به داده مورد استفاده قرار گرفته اند.

دريافت کنيد

پياده سازي مرتب سازي در يک مجموعه Generic

عنوان اين کد نمونه بسيار واضح است. نويسنده اين کد نمونه، از LINQ براي مرتب سازي يک Generic Collection بهره گرفته است.

دريافت کنيد

مشترک فید فراسان شوید!

قرار نیست فقط برای دوستان دات نتی کد نمونه معرفی کنم و دوستان PHPکار را فراموش کنم!

کد نمونه های PHP

اسکریپت کاربران آنلاین سایت

سیستم تصدیق هویت کاربر با PHP و MySQL

ایجاد تصاویر بند انگشتی یا Thumbnail روی هوا!

اسکریپت ایجاد صفحه دانلود در هر سایتی با قابلیت شمارش تعداد دریافت فایل ها

نکاتی برای افزایش بهره وری PHP و MySQL در سرور – مقاله

پردازش پیشرفته رشته ها با تکنیک های Regular Expression – مقاله

farasun.wordpress.com

امیدوارم این مطلب برای شما مفید واقع شود.

برای از دست ندادن مطالب بعدی این وبلاگ مشترک فید فراسان شوید! نمی دانید فید چیست!؟

کدهای PHP را با NetBeans بنویسید!

شاید شما هم مثل من برای نوشتن کدهای PHP از ادیتورهای کد مثل Notepad++ یا jEdit استفاده می کنید. شاید هم از نرم افزارهای دیگری همچون Rapid PHP یا Zend Studio استفاده می کنید. همانطور که می دانید رقیب قدرتمند PHP یعنی ASP.NET دارای IDE بسیار قدرتمندی به نام Visual Studio است که تمام نیازهای یک برنامه نویسی حرفه ای را برطرف می کند. برنامه نویسان ASP.NET از این نظر نسبت به برنامه نویسان PHP برتری محسوسی داشتند. تا اینکه شرکت معظم Sun Microsystems چند ماه پیش محیط توسعه نرم افزار خود یعنی NetBeans را به صورت آزمایشی ارائه کرد، در حالی که در نسخه جدید از PHP و Ruby on rails نیز پشتیبانی می کرد. این خبر بسیار خوبی برای برنامه نویسان PHP بود. هم اکنون که NetBeans 6.5 به صورت کامل ارائه شده، می تواند انتخاب مناسبی برای محیط توسعه شما باشد.netbeans_193x45

NetBeans یک محیط قدرتمند مجتمع توسعه نرم افزار (IDE) کدباز و رایگان است که از طرف شرکت Sun برای توسعه برنامه های جاوا ارائه شده بود که هم اکنون برای توسعه دهندگان PHP نیز مناسب می باشد. با NetBeans می توانید پروژه ی خود را مدیریت کنید، از قابلیت های Code completion، Code refactoring و دیباگر استفاده کنید و پروژه های خود را سریعتر و بهینه تر از قبل توسعه دهید. قالبیت auto complete در NetBeans تنها توابع از پیش تعریف شده در php را پشتیبانی نمی کنید، بلکه توابعی که شما در سرتاسر پروژه تان تعریف کرده اید را نیز شامل می شود.

PHP Code Completion example

PHP Code Completion example

NetBeans امکانات بسیار زیادی برای هرچه سریعتر نوشتن کدهای php در اختیار شما قرار می دهد، به طور مثال وقتی می خواهید یک تابع را صدا بزنید، NetBeans در مقداردهی پارامترها به شما بسیار کمک خواهد کرد. یا مثلاً کافیست تایپ کنید func و کلید tab را فشار دهید تا NetBeans قالب پیش فرض بلاک یک تابع را برای شما بسازد. همچنین NetBeans توضیحات تمام توابع داخلی php را از phpdoc به شما نشان می دهد تا مشکلی در استفاده از توابع نداشته باشد. (تقریباً مانند کاری که ویژوال استادیو انجام می دهد)

یکی از نیازهای بسیار حیاتی برنامه نویسان php که در NetBeans برطرف شده Variable Refactoring نام دارد. شاید شما هم قبلاً چنین مشکلی داشتید که از یک متغیر خیلی زیاد در یک فایل استفاده کرده اید و حالا میخواهید نام آن را تغییر بدهید. یا به صورت دستی و یا با استفاده از قابلیت Replace ایدتورهای مختلف مشکل خود را حل کردید. حالا NetBeans به صورت اتوماتیک این کار را برای شما انجام می دهد.

همانطور که گفتم NetBeans از مستندسازی phpdoc پشتیبانی می کند و این امکان، کدنویسی php را برای شما خیلی آسان می کند. NetBeans حتی به شما اجازه می دهد تا مستندسازی های خودتان را داشته باشید (همانند ویژوال استادیو). نشانگر را بالای تابعی که می خواهید مستند کنید قرار دهید و /** را تایپ کنید و کلید Enter را فشار دهید تا NetBeans به صورت اتوماتیک توضیحات را به سبک phpdoc برای شما ایجاد کند.

NetBeans 6.5 پشتیبانی کاملی از خطایابی سمت سرور با استفاده از افزونه XDebug دارد. همچنین در این محیط به جز کدهای php می توانید کدهای CSS, HTML و جاوا اسکریپت نیز به خوبی بنویسید. NetBeans 6.5 محیط توسعه قدرتمندی است که دارای امکانات پیشرفته دیگری نیز هست که ما قصد نداریم در این مقاله به آن ها بپردازیم.

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

اطلاعات بیشتر در مورد پشتیبانی PHP در NetBeans

متاسفانه دانلود مستقیم NetBeans برای ایرانی های داخل کشور مقدور نیست، دوست خوبم سالار خلیل زاده نحوه دریافت NetBeans 6.5 را برای ایرانی ها در اینجا توضیح داده است.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

با فریم ورک های PHP هرچه سریعتر وب سایت بسازید!

برای برنامه نویسان PHP

php-logoبا فراگیر شدن وب و وب سایت های اینترنتی، ابزارهای گوناگونی برای تولید برنامه هایی مبتنی بر وب عرضه شد. یکی از ابزارهایی که در این چند سال اخیر توانست قسمت اعظمی از بازار تولید نرم افزارهای تحت وب را تسخیر کند بی شک PHP بوده است. PHP زبان اسکریپت نویسی ساده ای است که شامل کتابخانه ها و توابع نقریباً کاملی برای استفاده در برنامه های تحت وب است و کمتر نیازی در وب یافت می شود که با PHP نتوان آن را رفع نمود. PHP توانست در این چند سال علاقه مندان فراوانی را جذب خود کند و پروژه های بسیار قدرمتند و معروفی همچون وردپرس به این زبان نوشته شده اند.

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

Zend Framework : این فریم ورک که از طرف سازندگان PHP عرضه شده است، یکی از کاملترین فریم ورک های PHP است. دارای توابعی برای تامین امنیت وب سایت های شما و همچنین توابعی برای استفاده از سرویس های وب 2.0 مثل سرویس های گوگل، یاهو، آمازون و فلیکر است. این فریم ورک بر روی ساخت وب سایت های کاربردی و وب سرویس ها با رویکرد وب 2.0 تمرکز دارد.

zend-framework

CakePHP : یکی از قدرتمند ترین فریم ورک های PHP با روش استفاده آسان و پشتیبانی از مدل های طراحی MVC و ORM. این فریم ورک زمان توسعه و کدنویسی را به حداقل ممکن می رساند و کمک می کند تا برنامه های تحت وب قدرتمندتری بسازید.

Qcodo : فریم ورک اوپن سورس برای PHP 5 که به شما در ساخت وب سایت های کاربردی کمک بسیاری می کند. توسعه دهندگان به جای اینکه هفته ها وقت خود را صرف کارهای تکراری بکنند، می توانند به سادگی از توابع از پیش تعریف شده در این فریم ورک بهره ببرند. این فریم ورک کاملاً بر اساس برنامه نویسی شیء گرا پیاده سازی شده است و پلت فرمی برای ایجاد سریع برنامه های تحت وب فراهم می کند.

Symfony : یک فریم ورک قدرتمند دارای کلاس های متعدد که ساختن وب سایت های پیچیده را آسان تر می کند. انتخاب این فریم ورک به شما کمک می کند تا بدون دردسر برنامه های تحت وب خود را توسعه دهید و آن ها را زودتر از انتظار بقیه آماده کنید. بسیاری از توسعه دهندگان PHP از این فریم ورک استفاده می کنند.

Seagull : فریم ورک اوپن سورس که با مجوز BSD توزیع شده است. به توسعه دهندگان PHP امکانات و ابزارهای مختلفی ارائه می کند تا برنامه های خود را هر چه سریع تر و کاراتر تولید کنند. همچنین این فریم ورک قابلیت های خوبی برای توزیع برنامه های PHP روی وب یا به صورت محلی (Local host) در اختیار برنامه نویسان قرار می دهد و دارای اجتماع کاربری مناسبی است.

Solar : فریم ورکی برای نوشتن سریع وب سایت هایی است که با PHP 5 ساخته می شوند. این فریم ورک از مدل های طراحی تجاری پشتیبانی می کند و به صورت توکار از بومی سازی (Localization) پشتیبانی می کند.

Prado : فریم ورکی است بر اساس کامپوننت که شما را قادر به ساختن برنامه های تحت وب به زبان PHP با قابلیت های برنامه نویسی شیء گرا می کند.

Codeigniter : یکی از قدرتمند ترین فریم ورک های PHP است که به توسعه دهندگان امکان ساخت وب سایت هایی با کارایی بالا را می دهد. این فریم ورک دارای آموزش های مناسب و مستندات بسیار است تا شما هر چه آسان تر نحوه ی کار با آن را یاد بگیرید.

AjaxAC : فریم ورک اوپن سورس برای استفاده از تکنولوژی Ajax در برنامه های مبتنی بر PHP است.

xAjax : کتابخانه ای از کلاس ها برای استفاده از تکنولوژی Ajax در زبان PHP است. با این کتابخانه کلاس می توانید با استفاده از جاوا اسکریپت، CSS، HTML و PHP برنامه های تحت وب  قدرتمند و با بازدهی بالا بنویسید.

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

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :