کدها رو درست و خوانا بنویسید!

سلام خدمت همه دوستان عزیز
چند مدت پیش یه مقاله بسیار مفید رو با عنوان “+۱۵ تکنیک برای نوشتن کد خوانا” رو ترجمه کردم که خوندن این کتاب به همه برنامه نویسان خصوصا برنامه نویسان وب شدیدا پیشنهاد میشه. خوندنش کمتر از ۱۰ دقیقه طول میکشه از دست ندید.

 

نوشتن کد خوانا

دانلود کتاب با حجم ۷۲۵ کیلوبایت

 
 

آموزش HTML – اسکریپت

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

 

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

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

 

ادامه‌ی خواندن

تابع explode در PHP

تابع ()explode به ما این اجازه رو میده تا یه رشته رو به چندین بخش تقسیم کنیم، بعد از تقسیم، این تابع رشته ها رو در یک آرایه قرار میده.

شکل کلی

array explode ( string $delimiter , string $string [, int $limit ] )

پارامترها:

  • delimiter$ – عبارت شاخص. عبارتی است که برای جدا کردن رشته به بخش های متخلف از آن استفاده میشود.
  • string$ – رشته مورد نظر.
  • limit$ – پارامتر اختیاری. تعداد تکه ها را مشخص میکند. این پارامتر از ورژن ۴٫۰٫۱ به بعد اضافه شده و از ورژن ۵٫۱٫۰ اعداد منفی را هم قبول میکند.
نکته: این تابع binary-safe است.

ادامه‌ی خواندن

تابع str_replace در PHP

یکی دیگر از موارد پرکاربرد در کار با رشته ها جایگزین (replace) کردن بخشی از رشته با مقادیر جدیده.

تابعی که برای اینکار استفاده میشه ()str_replace نام داره. این تابع تمام عبارتهای پیدا شده در یک رشته رو با عبارتی که ما به اون میدیم جایگزین میکنه.

شکل کلی

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

پارامترها:

  • search$ – عبارتی است که باید جست و جو شود، میتواند رشته(string) یا آرایه(array) باشد.
  • replace$ – عبارتی است که باید بجای رشته پیدا شده قرار بگیرد، میتواند رشته(string) یا آرایه(array) باشد.
  • subject$ – محتوای رشته ی اصلی است که عملیات Replace روی آن انجام میگیرد.
  • count$ – اگر مشخص شود تعداد جاگذاری های انجام شده را بصورت عددی برمیگرداند. این پارامتر از نسخه ۵٫۰٫۰ به بعد وجود دارد.

ادامه‌ی خواندن

تابع strpos در PHP

سلام، به بخش کار با رشته ها خوش اومدید، PHP توابع بسیار زیاد و کاملی برای دستکاری رشته ها داره که ما در بخش مقدماتی به پرکاربرد ترین اونها اشاره میکنیم. در این درس با تابع کاربردی ()strpos آشنا میشید.

شکل کلی

mixed strpos ( string $string , mixed $search [, int $offset = 0 ] )

پارامترها:

  • string$ – رشته ای که باید در آن جست و جو شود.
  • search$ – رشته ای که باید در string$ جست و جو شود.
  • offset$ – محل شروع جست و جو را مشخص میکند و همانطور که قبلا توضیح داده شد میدانیم که یک پارامتر اختیاری است.

مقدار بازگشتی:

اگر رشته مورد نظر ما در رشته اصلی وجود داشته باشه مکان یا آفست(offset) اولین کاراکتر در اولین رشته پیدا شده بصورت یک عدد و در صورت پیدا نکردن رشته مقدار false رو بازگشت میده.

نکته:  در علم کامپیوتر به فاصله محل فعلی از ابتدای رشته یا شی offset گفته میشه.
نکته: اشاره گر رشته شمردن رو از عدد ۰ شروع میکنه نه ۱ ،  پس عددی که تابع برمیگردونه n-1 هست.

ادامه‌ی خواندن

حذف فایل در PHP

یکی دیگر از عملیات مهم در کار با فایلها، حذف فایل هست. در این درس یاد میگیرید که چطور میشه یک فایل رو تا فراخوانی تابع ()unlink حذف کرد.

شکل کلی

bool unlink ( string $filename [, resource $context ] )

از کد بالا چند چیز رو میتونیم بفهمیم. اول اینکه تابع ()unlink از نوع Bool یا Boolean هست یعنی مقداری که تابع برگشت میده True یا False هست.

دوم اینکه ایت تابع یک پارامتر اجباری filename$ از نوع String یا رشته ای و یک پارامتر اختیاری context$ از نوع resource داره.

نکته: همیشه وقتی تو برنامه نویسی دیدید چیزی تو دو براکت ([ … ]) قرار گرفته معنی اختیاری بودن میده.

ادامه‌ی خواندن

خواندن فایل در PHP

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

توابعی که برای خواندن محتویات فایل مورد استفاده قرار میگیرن:

  • ()fread: دو پارامتر دارد، پارامتر اول File handle و پارامتر دوم تعداد بایت ها برای خواندن را مشخص میکند.
  • ()fgets: یک پارامتر دارد و آن File handle است. لاین اول فایل را میخواند و وقتی به لاین جدید رسید متوقف میشود و اشاره گر فایل به لاین جدید منتقل میشود.
  • ()fgetc: یک پارامتر دارد و آن File handle است. یک کاراکتر از فایل را میخواند و اشاره گر به کاراکتر بعدی منتقل میشود.

همچنین توابع ()file_get_contents() ، file() ، readfile هم برای خوندن محتویا فایل وجود دارن که در قسمت PHP پیشرفته به اونها میپردازیم.

ادامه‌ی خواندن

نوشتن در فایل در PHP

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

نوشتن در فایل

قبل از اینکه شروع به نوشتن در فایل کنیم باید توسط تابع ()fopen فایل مورد نظرمون رو باز کنیم.  برای نوشتن در فایل ازتابع ()fwrite استفاده میشه ناگفته نمونه که تابع ()fputs هم هست اما با ()fwrite فرقی نداره. هر دو تابع دو پارامتر از ما دریافت میکنن پارامتر اول File handler و پارامتر دوم داده ای که باید در فایل نوشته بشه رو مشخص میکنه.

 

نکته: توابع ()fwrite و ()fputs دارای ویژگی Binary-Safe هستند، یعنی داده های باینری مثل عکس ها و داده های کاراکتری مثل فایلهای متنی رو میشه با این توابع نوشت.

 

ادامه‌ی خواندن

باز کردن/بستن فایل ها در PHP

در درس قبلی با نحوه ایجاد فایل آشنا شدید و گفتیم که در زبان PHP برای باز کردن و ایجاد فایل از دستور ()fopen استفاده میشه. در این درس به نحوه باز کردن یک فایل، انواع Modeهای اون، بستن فایل و اینکه چرا باید بعد از پایان کارمون فایل رو ببندیم میپردازیم.

مدها (Modes)

  •  r : باز کردن فایل فقط برای خواندن. اشاره گر فایل در ابتدای فایل قرار میگیرد.
  • +r : باز کردن فایل برای خواندن و نوشتن. اشاره گر فایل در ابتدای فایل قرار میگیرد.
  • w : باز کردن فایل فقط برای نوشتن. اگر فایل وجود داشته باشد محتویات آن پاک میشود واگر وجود نداشته باشد آن را ایجاد میکند.
  • +w : باز کردن فایل برای خواندن و نوشتن. اگر فایل وجود داشته باشد محتویات آن پاک میشود واگر وجود نداشته باشد آن را ایجاد میکند.
  • a : باز کردن فایل برای الحاق کردن محتویات جدید. فایل برای نوشتن باز میشود، اشاره گر فایل در انتهای فایل قرار میگیرد و در صورت موجود نبودن فایل آن را ایجاد میکند.
  • +a: باز کردن فایل برای خواندن یا الحاق کردن محتویات جدید. فایل برای نوشتن باز میشود، اشاره گر فایل در انتهای فایل قرار میگیرد و در صورت موجود نبودن فایل آن را ایجاد میکند.
  • x : نحوه کارش دقیقا مثل w است با این تفاوت که اگر فایل مشخص شده موجود نباشد آن را ایجاد نمیکند و مقدار FALSE را بازگشت میدهد.
  • +x : نحوه کارش دقیقا مثل +w است با این تفاوت که اگر فایل مشخص شده موجود نباشد آن را ایجاد نمیکند و مقدار FALSE را بازگشت میدهد.

ادامه‌ی خواندن

ایجاد فایل در PHP

قبل از اینکه بخوایم روی فایلی عملیات انجام بدیم باید فایل مورد نظر وجود داشته باشه! تو این درس یاد میگیرید که چطور در زبان PHP میشه فایل ایجاد کرد. برای ایجاد و باز کردن فایل برای انجام عملیات خاص ما از تابع ()fopen استفاده میکنیم.

در php مثل بعضی زبان های دیگه از یک دستور برای ایجاد و باز کردن فایل استفاده میشه پس به این نکته باید توجه داشته باشید.

 

Syntax

<?php 
$fileHandle = fopen(fileName, mode);
//do something
fclose($fileHandle);
?>

 توضیح پارامترها:

filename: آدرس فایلی که میخوایم اون رو ایجاد یا دستکاری کنیم رو در این پارامتر مشخص میکنیم. فایل میتونه در محیط اینترنت یا محیط محلی باشه.

Mode: در این پارامتر مهم باید مشخص کنیم که چه عملی میخوایم روی فایل انجام بدیم مثل خواندن، نوشتن، الحاق و… .

نکته: در صورتی که تابع ()fopen در باز کردن فایل موفق بشه اشاره گر فایل(File handler) رو برمیگردونه و اگر موفق نشه مقدار ۰ یا FALSE رو برگشت میده.
نکته: در درس بعدی با تمام mode ها آشنا میشید. چون mode ها  بیشتر به باز کردن فایل مربوط میشن به همین دلیل اونها رو در درس بعدی توضیح خواهیم داد.

 

ادامه‌ی خواندن