اشکال زدایی برنامه در کیک پی اچ پی
موقع توسعه یک برنامه مسلما بارها پیش آمده که بخواهید برنامه ای که نوشتید را trace کنید و یا مقادیری که به صورت داینامیک داخل یک آرایه ذخیره کردید را مشاهده نمایید و کارهایی از این قبیل انجام دهید .
کیک پی اچ پی توابع و کلاس هایی را برای این کار در نظر گرفته که بسیار مفید و سودمند هستند و قطعا استفاده و به کاربردن انها کمک بسیاری در روند توسعه یک برنامه خواهد کرد.
مهم ترین نکته ای که باید به ان توجه داشت این هست که در تنظیمات کیک،که در آدرس Core/config.php قرار دارد ، مقدار debug برابر با ۲ باشد تا تمام خطاها و اشکالات برنامه ، کوئری هایی که اجرا می شوند و همچنین خروجی های توابع و کلاس های مربوط به debugging به صورت کامل هنگام اجرای برنامه به ما نمایش داده شود و cache های ایجاد شده رفرش گردند.
Configure::write('debug', 2);
به این ویژگی دو مقدار ۰ و ۱ هم می توانیم اختصاص دهیم که مقدار ۱ مانند همان حالت مقدار ۲ هست اما محدودیتهایی دارد و مقدار ۰ برای زمانیست که برنامه ما به صورت کامل نوشته و تست شده و آماده ارائه به کاربران می باشد.
تغییر قوانین اعتبارسنجی به صورت پویا در کیک پی اچ پی
یکی از امکانات جدید اضافه شده در نسخه ۲٫۲ از کیک پی اچ پی امکان تغییر قوانین تعریف شده در Model به صورت داینامیک از طریق متد validator که در Model پیاده سازی شده است می باشد. در این پست به بررسی این ویژگی جدید می پردازیم .
در ابتدای کار فرض می کنیم در model قوانین زیر رو تعریف کردیم :
class User extends AppModel{ public $validate = array( 'username'=>array( 'rule-1'=>array( 'rule'=>'notEmpty', 'required'=>TRUE, 'message'=>'لطفا نام کاربری خود را وارد کنید' ), 'rule-2'=>array( 'rule'=>'isUnique', 'message'=>'نام کاربری وارد شده تکراری است', 'on'=>'create' ), ), 'password'=>array( 'rule'=>'notEmpty', 'required'=>TRUE, 'message'=>'لطفا رمزعبور خود را وارد کنید' ), ); }
ابزار ADB در اندروید
چند مدتی هست که در حال یادگیری توسعه برنامه ، تحت پلتفرم اندروید هستم و از اونجا که منابع فارسی در این زمینه خیلی کم ، محدود و اغلب تکراری هست ، تصمیم گرفتم تجربیات و آموخته هام رو با شما دوستان به اشتراک بزارم . همچنین به دلیل اینکه منابع آموزشی لازم برای شروع کار با اندورید و نصب ابزارهای لازم برای برنامه نویسی تحت این پلتفرم به زبان فارسی وجود داره و هدفم آموزش گام به گام نیست ، از ابتدا شروع به آموزش نکردم و تنها ابزار ها ، تکنیک ها و مواردی که به نظرم می تونه برای یک توسعه دهنده تازه کارِ اندروید مفید باشه رو معرفی میکنم که ADB هم یکی از اون ابزارها هست .
ADB یا Android Debug Bridge یک ابزار خط فرمان برای ارتباط و کنترل emulator و یا دستگاه اندرویدی متصل به سیستم ما هست و دستورات و فرمان های مفید و کاربردیِ مختلفی مانند نصب برنامه بر روی emulator ، دسترسی به فایل های موجود بر روی emulator و … رو در اختیار ما قرار میده که تعدادی از اونها رو با هم مرور میکنیم .
اگر کاربر ویندوز هستید ، برای اینکه به راحتی بتونید از adb در داخل cmd استفاده کنید آدرس دایرکتوری adb.exe رو که در شاخه SDK_Directory/platform_tools قرار داره ، در بخش environment variables ویندوز در انتهای متغیر path اضافه کنید و یا اینکه بعد از اجرای cmd به شاخه platform_tools بر روی سیستمتون برید و دستورات adb رو اجرا کنید .
adb devices
لیست emulator ها و دستگاه های اندرویدی در دسترس ، رو نمایش میده .
چیزهایی که دوست دارم یاد بگیرم …
امروز مثله روزهای قبل داشتم گودرم رو میخوندم که یه مطلب با عنوان “چیزهایی که دوست دارم یاد بگیرم” از وبلاگ اتوبان خوندم و از اونجایی که مواردی که حامد نویسنده اوتوبان گفته خیلی نزدیک به علایقم بود راغب شدم همچین پستی تو بلاگم بزارم …
چیزهایی که همیشه تو ذهنم هست تا بیشتر در موردشون مطالعه کنم و تسلط بیشتری روشون پیدا کنم رو لیست می کنم تا شاید یه حرکت رو به جلو باشه این حرکت وبلاگی …
۱- زبان پایتون : زبان پایتون و فریم ورک django از زبان ها و ابزارهای بروز در عرصه برنامه نویسی تحت وب هستند ، خیلی دوست دارم که با پایتون هم کار کنم ، اگر مشغله های روزمره اجازه بدن ! البته یه آشنایی با این زبان دارم اما تسلط ندارم .
۲- لینوکس : چند سالی هست که با لینوکس (اوبونتو) کار میکنم ، اما دوست دارم در زمینه مدیریت سرور مهارت کسب کنم .
۳- فریم ورک های PHP : حدودا ۴ سالی هست به صورت حرفه ای PHP کار می کنم و از فریم ورک cakePHP استفاده می کنم با فریم ورک های دیگه مثله CI هم کمی کار کردم اما دوست دارم فریم ورک هایی مثله Zend ، Symfony , Yii رو بیشتر بررسی کنم و با معماریشون آشنا بشم .
۴- سیستم های مدیریت محتوا PHP : در حال حاضر تسلط خوبی روی طراحی تم و نوشتن پلاگین برای وردپرس دارم اما دوست دارم با سیستم های مدیریت محتوای دروپال و جوملا هم بیشتر آشنا شم .
۵- photoshop و گرافیک : از سال ۸۵ که طراحی وب رو شروع کردم ، خیلی دوست داشتم که گرافیک کارهایی که انجام میدم رو هم خودم کار کنم و تقریبا الان همین هم شده ، اما خیلی علاقه دارم که تسلط بیشتری روی این نرم افزار پیدا کنم و بیشتر با دنیای گرافیک آشنا بشم .
۶- Html5 & CSS3 : بی شک اگر این دو در برنامه مطالعاتی یک طراح وب نباشه آینده رو باخته !
۷- جاوا اسکریپت ، jQuery ، node.js ، backbone.js و دیگر هیچ !
۸- موسیقی و گیتار : یکی از دلایل اصلی اینکه به موسقی و نواختن گیتار علاقه مند شدم ، دوست خوبم علی بود ، اگر بتونم دوست دارم که تو این زمینه هم کار کنم تا بیرون از دنیای کامپیوتر هم یکم مهارت داشته باشم
فعلا که دغدغه اصلیم کنکور ارشد هست ،اما در کنار خوندن برای کنکور دوست دارم به موارد بالا هم عمل کنم تا کنکور خیلی خسته کننده نشه واسم .
با تشکر از وبلاگ اتوبان …
روزهای نه چندان خوب من …
حدودا ۹ ماهی هست که بلاگ رو آپدیت نکردم ، تو این مدت روز های پر فراز و نشیبی رو گذروندم و دارم میگذرونم ، از شروع یه کسب و کار جدید با چند تا از بچه های دانشگاه گرفته تا … .
یکی از مثبت ترین کارهایی که تو این مدت کردم خوندن کتاب “آموزش HTML5 و CSS3 در قالب پروژه” نوشته امیرعباس عبدالعلی از انتشارات ناقوس بود که برام خیلی لذت بخش بود و اطلاعاتی که تو این زمینه داشتم رو کامل کرد .
این پست بهانه ای بود برای بروز شدن این بلاگ و ادامه نوشتن …
آشنایی با سوکت ها – مهندسی اینترنت
برای درس مهندسی اینترنت چند هفته پیش یه ارائه درباره سوکت ها و به کارگیری اون ها در پی اچ پی داشتم …
اسلاید هاش رو اینجا میزارم تا سایر دوستان هم بتونند استفاده کنند !
امیدوارم که مفید باشه
کار با element ها در کیک پی اچ پی
در صفحات مختلف یک وب سایت معمولا بخش هایی وجود دارند که ثابت هستند و در مکان های مختلف تکرار می شوند ، مانند بلوک آخرین مطالب ، لوگوهای دوستان ، فرم خبرنامه و … ، در این مواقع برای جلوگیری از تکرار کد و راحت تر شدن کار از element ها استفاده می کنیم .
برای ایجاد یک فایل element در کیک پی اچ پی وارد پوشه elements از بخش views شوید و یک فایل با نام دلخواه و پسوند ctp. ایجاد کنید سپس کدهای مد نظرتان را داخل آن وارد کنید ، برای نمایش element مورد نظرتان در سایر فایلهای بخش view هم از دستور زیر استفاده کنید :
echo $this->element('element_name');
برای آشنایی بیشتر با این بخش یک element ایجاد می کنیم که آخرین مطالب موجود در پایگاه داده را نمایش دهد.