وبلاگ فيکسل برای گرافيست ها
SharpLife وبلاگ شخصی مهدی تقی زاده
بازگشت شاهو طوفانی
اين صداگذاری و ميکس آخرشه!
نکته جالبی در مورد تابع output_add_rewrite_var
کاراکتر های فارسی در عکس توسط PHP
مصاحبه من با مجله وزین IranAMP
واژه های فناوری اطلاعات و برابر های پیشنهادی فرهنگستان
دوره های آموزش IT
استانداردهای کدنويسی PHP
| صفحه قبل


IranPHP
نماينده رسمي سايت PHP.net

webilix
منبعي براي برنامه نويسان PHP

phprun
وبلاگي خواندني براي تمام PHP كارها

ם تعداد بازديدكنندگان
كل: 924761
ديروز: 915
امروز: 811
ם تعداد كاربران آنلاين
6 نفر
ם پنج مراجعه آخر
xcfgykful.chez.com
vogar5c.cm.to
okpoyei.is.com
xcfgykful.chez.com
nadietefpo.ebo-shi.com
 
 
کاربرد بافر کردن خروجی با ()header و ()setcookie
Putput Bufferingپيرو مطلب قبلی که در مورد Output Buffering نوشته بودم، يک توضيح تکميلی هم بدم تا نکته مبهمی باقی نماند.
يکی از کاربردهای رايج این تکنیک(بافر کردن خروجی) که در اکثر مثالها و نمونه کدهای آنلاین مشاهده می شود، فرستادن هدرها، قبل از ارسال متن صفحه است.
به طور عادی، اگر تکه کد زير را اجرا کنيد:

<?php
echo "Hello World";
header("Content-Type: text/plain");
?>

با خطای زير مواجه می شويد:

Cannot add header information - headers already sent

در يک HTTP Response (پاسخ به درخواست کلاینت از طریق پروتکل HTTP)، تمام Headerها می بایست در ابتدا و قبل از محتویات اصلی صفحه ارسال شود. به همين جهت، به سرصفحه يا Header معروف شده است. wink
از آنجا که PHP بطور پيش فرض هر وقت با دستورات echo و print برخورد می کند، محتوا را ارسال می کند، وقتی سرصفحه ها را بعد از متن صفحه ارسال کنيد، به شما پيغام خطا می دهد.
ولی با بافر کردن خروجی، ارسال بدنه پاسخ تا فراخوانی ()flush به تعويق می افتد و سپس خروجی با سرصفحه ها همزمان ارسال می شود. بنابراين با تکه کد زير مشکلی نخواهيم داشت و همه چيز بخوبی کار می کند. smile

<?php
ob_start
();
echo 
"Hello World";
header("Content-Type: text/plain");
ob_end_flush();
?>

از نظر من، این مثال برای نمایش قابلیت های Output Buffering ارزش چندانی ندارد و بیشتر تمثیلی از شیوه های کدنویسی سرسری و بی دقت است. اما احتمالا با آن برخورد کرده اید. ارسال سرصفحه بعد از توليد محتويات صفحه، اصولا کار اشتباهی است و از نقطه نظر طراحی، ايده خوبی نيست، چرا که تمام کدهايی که به اين سرصفحه ها نياز دارند بايد از بافر کردن خروجی استفاده کنند.
---
ذخیره سازی داده ها برای استفاده آتی را Caching گوييم. يک سيستم کشينگ بايد دارای مشخصات و ويژگيهای معينی باشد که در آينده به آن می پردازم. تشخیص اينکه کدام Data Component را می توان کش کرد، از اهميت بالايی برخوردار است. آيا بايد از مزايای کلاسهای آماده PEAR استفاده کرد يا خودمان دست به کار شويم و سيستم کشينگ مورد نظر خود را توسعه دهيم؟ بر حسب نياز می توان از تکنيک های کشينگی نظير In-Memory يا DBM-Based يا Shared Memory و Cookie-Based استفاده کرد که هر کدام مطالب و مباحث خاص خود را دارد که به مرور به ذکر مواردی که می دانم، می پردازم.
 
نظرات شما(93)  
عملگر +
The + Operator عملگر «+» برای آرايه ها معنی خاصی دارد. اين عملگر، عناصر* آرايه سمت راست را در آرايه سمت چپ، ادغام می کند. در ترکیب این دو آرایه، کلید آرایه ها مهم است. اگر کلیدی در آرایه سمت چپ موجود بود، بدون تغییر باقی می ماند. تنها عناصری از آرایه سمت راست با کلیدهای متفاوت اند که با آرایه سمت چپ ادغام می شود. تکه کد زیر نمونه ای از استفاده این عملگر مفید است:

<?php
//define a couple of arrays
$a = array(
0=>"Apple",
2=>"Ball");
$b = array(
3=>"Cat",
2=>"Dog");

foreach((
$a $b) as $key=>$value)
{
    print(
"$key: $value<br>\n");
}
?>

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

0: Apple
2: Ball
1: Cat

با این توضیحات برای اینکه عناصر دو آرایه را با هم ترکیب کنیم، می بایست دو آرایه کلیدهای متفاوتی داشته باشند تا آرایه حاصله، اجتماع عناصر دو آرایه باشد؛ این کار به سادگی با شاخص گذاری دستی آرایه سمت راست عملگر صورت می گیرد. مثلا تکه کد زیر خروجی تکه کد بالا را تغییر می دهد.

<?php
//define a couple of arrays
$a = array(0=>"Apple"2=>"Ball");
$b = array(3=>"Cat""Dog");

foreach((
$a $b) as $key=>$value)
{
    print(
"$key: $value<br>\n");
}
?>

تابع array_merge ادغام آرایه ها را به طرز دیگری انجام می دهد.
*) به هر عضو از آرایه، عنصر یا Element می گوييم. هر عضو توسط يک کليد(شاخص) قابل دسترسی است. در PHP علاوه بر اينکه شاخصها عددی هستند، می توانند رشته کاراکتر هم باشند که آرايه های از اين نوع را Associative می ناميم. از آنجا که PHP زبان Loosley Typed می باشد، بدين معنی که لازم نیست قبل از انتساب مقدار به متغیر، نوع داده آنها تعريف شود، عناصر آرايه می توانند، نوع داده های مختلفی داشته باشند.
 
نظرات شما(4)  
وصيت نامه ای در دنيای مجازی
Thought سه چهار روزی هست که از دور و بر خبر پيش بينی زلزله در تهران و احتمال رخداد اون تا پايان هفته، از طريق لينکهايی که دوستان فرستادند به گوشم رسيده و مطمئنم تمام اهالی وبلاگستان از طريق همديگه و شهروندان مجازی اون، کم و بيش در جريان اين پيش بينی ها هستند. من کاری ندارم با اينکه پيش بينی استاد دانشگاه صنعتی شريف يا اون دانشمند چينی، تا چه حد درست هست؛ ممکنه کاملا درست از آب در بياد و يا شايد هم همشون نقش بر آب بشه. فقط اين رو می تونم تصور کنم که همچين زلزله ای اگه در شهر بی در و پيکر و سازه خرابی مثل تهران بياد، بزرگترين فاجعه بشری رخ خواهد داد. البته به اوس کريم بستگی داره که چقدر زمين رو قلقلک بده و درجه اشو بالا ببره. مردم تهران بدجوری از نظر روحی به هم ریختند. اولا هیچ کس نیست که جواب صریح و روشنی بده و سانسور خبری هم اجازه بیان نکته های مهم و شاید سرنوشت ساز رو نمیده. جمعه شب داشتم اتفاقی برنامه پنجره رو می دیدم که این مجری تپلی شبکه سوم فکر کنم حسینیان ِ فاميليش، داشت با دو تا کارشناس و عضو شورای شهر تهران حرف می زد اون هم در مورد زلزله و شايعاتی که در حاشيه اون وجود داره. اين آقای حسينيان تپلی می گفت: دست خدا بر سر ملت ماست، امام حسين و امام زمان(عج) ما رو ياری می کنند. اگه هم چيزی پيش بياد خواست خدا بوده و کلا می گفت بابا بی خيال شيد اگه هم زلزله اومد فوقش می ميريد و شبها سرتون رو راحت روی بالش بگذاريد و صبح بلند شديد ديديد تيرآهن بغل گوشتون خورده زمين، حالشو ببريد که زنده مونديد و خدا رو شکر کنيد.
اين درست که بايد به خدا توکل کرد و از اون خواست که اين بلا رو از ما دور کنه. اما آقای حسينيان، مگه خدا با مردم ژاپن يا ساير کشورهای زلزله خيز که بعضی هم اسلامی هستند، لجه که اين بلا رو نازل می کنه؟! الان ژاپنی ها، که اون همه کشته می دادند، تو زلزله های ۸ ريشتری هم بيشتر از چند نفر کشته نمی دن! چرا؟ چون فکرشون خوب کارکرده و تونستند اين بلای طبيعی رو مهار کنند. ولی ما چی؟ پس اينقدر از خدا توقع نداشته باشيم و به اين اميد هم نباشيم که نه بابا، خدا با بچه مسلمون ها کاری نداره، هر چی بلا هست برای کافران و کشورهای غربيه!
اين قدر هم بهتره جون دوست نباشيم. مرگ حق هست و اگه سرنوشت و تقدير طوری نوشته شده باشه که مثلا بنده امروز بايد با دنيا خداحافظی کنم. ديگه بايد رفت. چه زير آوار باشم يا از زلزله فرار کرده باشم!
با اين مقدمه به فکرم رسيد يه وصيت نامه تنظيم کنم اونم تحت وب! grin
نه به خاطر اينکه به اين پيش بينی ها اعتقاد دارم. ولی گفتم فکر جالبيه، آدم تحت وب وصيت بنويسه؛ شايد ۱۰ سال ديگه، اگه زنده بودم و به آرشيو وب سايتم نگاه می کنم، خاطرات اين موقع دوباره برام تداعی بشه.
حرف برای گفتن زياد دارم ولی از حوصله شما خارج هست. من کلا خیر زیادی از این دنیا ندیدم، البته صد البته شکر چیزهایی رو هم که داشتم به جا آوردم؛
اگه عمرمون به دیدن انتشار نسخه فاینال PHP 5 و MySQL 5 قد نکشید، امیدوارم که در اون دنیا بتونم تهیه کنم، شاید هم نسخه ۲۰ سال بعد اش هم موجود بود! wink
اگه مايکروسافت از اوپن سورس شکست خورد، بيل گيتس آنفلکتوس می زنه و به جمع ما خواهد پيوست، اونجا تا ميخوره می زنيمش! smile(مایکروسافتی ها قسمت آخر رو بخونن: ...تا میخواد نازش می کنیم!)
دوست دارم تو اون دنيا لااقل دسترسی ماهواره ای سرعت بالا به اون ترنت داشته باشم، به وبلاگ دوستانم حتما سری خواهم زد و کامنتی خواهم گذاشت. البته فکر کنم کامنته بی رنگ شه و یا Connection timeout بده! B)
امیدوارم مخابرات اون دنیا حتی جهنمش از وضعیت مخابرات ایران بهتر باشه، یعنی فیل ترینگ! نداشته باشه. rolleyes
خلاصه هر جوری فکرشو می کنم می بینم اون دنیا، خیلی امکانات بیشتری نسبت به این دنیا هست.
از امشب نه زیر تخت می خوابم، نه توی کمد فلزی، نه تو پارک و نه تهران رو ترک میکنم چون یه جوری اصلا حس اش نیست. با اینکه تا اندازه ای با همین طرز فکر مخالفم. پس تکنولوژی کیلو چنده، ما کشورهای عقب افتاده چوب همین عقب ماندگی امون رو می خوریم. ولی الان روحیه ام اینطوری اقتضا می کنه دیگه که زیاد فکرشو نکنم. یعنی همچین یه نمه ریلکس و انتظار!(خیلی فلسفی شد نه؟!)
تو این دنیای دون هم، تنها چیزی که واقعا ارزش زندگی رو داره عشق و بودن در کنار کسانی هست که دوستشون دارید و پول به هیچ وجه خوشبختی رو تضمین نمی کنه. عشق، محبت، صفا، دوستی و يکرنگی اگر باشه، من هم دنيا رو حاضر نیستم يه دقيقه هم ترک کنم.
--
هر چی که تو اين دنيا هست، مثل يک رويا ميمونه؛
يکمی هم بايد زندگی رو ساده انگاشت؛
چاره هر چيزی، تنها و تنها دوست داشتن هست؛
نگاه کن؛ زندگی ادامه می يابد؛
قشنگترين چيز تو زندگی، رسيدن به سعادت و خوشبختيه؛
آخرش آس و پاس از اين دنيا می ريم؛
زندگی رسم غریبیه؛
یه روز همه چی رنگ دروغ به خودشون می گیرن؛
زندگی ات، عشق ات و علاقه ات؛
تنها چیزی که می مونه، آفریننده تو است؛
زندگی رسم غریبیه؛ اف
روزی میرسه، درد تنهایی زخم باز میکنه؛
حیات مثل فیلم میمونه، یه پایان می نویسه و تموم میشه؛
به خودت عذاب نده، یه لبخند بزنی کافیه؛
نگاه کن، زندگی ادامه پیدا می کنه؛
بهترین چیز، رسیدن به سعادت و خوشبختیه؛
--> ترجمه ترانه پایین
با آرزوی سلامت و خوشبختيه همه همشهری های خوبم و کسانی که دوست اشون دارم. wink


 
نظرات شما(10)  
| صفحه قبل
 
 
نام: نيما شايافر
متولد: 7/7/1362
تحصيلات: دانشجو
شغل: طراح وب و برنامه نويس
وضعيت: آفلاين

ماهيانه
مرداد 86 (2)
خرداد 86 (1)
دي 84 (4)
آذر 84 (5)
مرداد 84 (1)
تير 84 (1)
ارديبهشت 84 (2)
دي 83 (1)
آذر 83 (2)
آبان 83 (2)
مهر 83 (4)
شهريور 83 (6)
مرداد 83 (3)
تير 83 (7)
خرداد 83 (7)
ارديبهشت 83 (8)
فروردين 83 (13)
اسفند 82 (12)

موضوعي






جستجوي پيشرفته

BlogRolling is currently inaccessible.
©2004, Design & Developed by: Nima Shayafar. All rights reserved.