شنبه ۲۰ بهمن ۱۳۸۶
 
Why I like CakePHP ?
یک نفر دلایل مختلفی برای دوست داشتن CakePHP می تونه داشته باشه !

ولی یک از چیزی های که من رو عاشق خودش کرده سرعت تغییرات است.
مثلا در یک پروژه من تمام قسمت ها رو آماده کرده بودم به غیر صفحه بندی (paging). عزا گرفته بودم که حوصله این کار رو ندارم ولی باخودم گفتم شاید کسی کامپوننتی برای اون توی نانوایی کیک نوشته باشه یک سرچ کوچولو زدم. حدسم درست بود یک مقاله پیدا کردم (Pagination).
طبق دستورالعملش کارها رو انجام دادم و در عرض ۳۰ دقیقه تمام فرم ها و صفحاتم دارای صفحه بندی عالی شدند حتی اگر می خواستم با تغییر یک مقدار از True به False می تونستم صفحه بندی ام رو به صورت آیجکس پیاده سازی کنم.

سرعت از این بیشتر ؟

برچسبها: ,

4:07 PM | نظر (3)

شنبه ۲۸ مهر ۱۳۸۶
 
Zend_Acl
با اینکه من از نوشتن این چیزها توی وبلاگ شخصی متنفر هستم ولی خب باید یکجا در موردش بنویسم که بعدا بتونم بهش رجوع کنم شاید بدرد شما هم بخوره

سیستمش خیلی ساده ولی قوی هست. شما کلا با دوچیز سروکار دارید :
  • منابع - Resources
    مثلا فرض کنید منابع توی یک سایت دسترسی به فرستادن مقاله باشه !
    خب این دسترسی ها مثلا می تونه ایجاد(create), خواندن(read), ویرایش(edit), حذف(delete و ... باشه این کلاس شما رو محدود نمی کنه !

  • قوانین - Roles
    توی یک سایت مثلا می تونیم یک سری قوانین برای مهمان, کاربر عضو شده و یا مدیر در نظر بگیریم.


یک مثال می زنم امیداورم که متوجه بشید !
فرض کنید یک خانواده داریم که ۴ نفر هستند ! پدر مادر دختر بچه و یک نی نی کوچولو که متاسفانه جنسیتش رو یادم رفت مشخص کنم !
خب اینها می خواند برند پیک نیک ولی این پدر مادر متهعد می ترسند که وقتی سوار ماشین(این همون Resource هست ها !) هستند یک وقت بچه ها کاری بکنند که واسشون خطرناک باشه از همه مهمتر پدره می ترسه که خانومش بشین پشت فرمون !
خلاصه از ما درخواست می کنند که یک برنامه بنویسیم که واسشون سطح دسترسی رو مشخص کنه !
ما هم این قوانین رو می گذاریم :
نی نی فقط می تونه صندلی عقب بشینه
دختر هم می تونه کار های نی نی رو انجام بده هم در ها رو باز بسته کنه
مادره هم می تونه کارهای دو نفر قبلی رو انجام بده و می تونه بشینه کنار راننده !
پدر هم همه کاری می تونه بکنه

خب این کدی هست که واسشون نوشتم البته قبل از اینکه پولش رو بدند فرار کردند ولی به هر حال تمرین خوب بود برای کار با Zend_Acl :
//begin

<?
require_once 'Zend/Acl.php';

$acl = new Zend_Acl();

require_once 
'Zend/Acl/Role.php';

//Create baby role
$role_baby=new Zend_Acl_Role('baby');
//Add to roles
$acl->addRole($role_baby);
$acl->addRole(new Zend_Acl_Role('girl'),$role_baby);
$acl->addRole(new Zend_Acl_Role('mamy'),'girl');
//Dady is powerfull !
$acl->addRole(new Zend_Acl_Role('dady'));

require_once 
'Zend/Acl/Resource.php';
//add car as a resource 
$acl->add(new Zend_Acl_Resource('car'));

//set ACL
$acl->allow('baby','car',array('sit_down_back'));

$acl->allow('girl','car',array('open_door','close_door'));

$acl->allow('mamy','car',array('sit_down_beside_driver'));
//dady can do everything he wants !
$acl->allow('dady','car');

echo 
'babay <b>';
echo 
$acl->isAllowed('baby''car''sit_down_back') ?  "can" "can't"
echo 
'</b> sit down back<br />';
echo 
'babay <b>';
echo 
$acl->isAllowed('baby''car''open_door') ?  "can" "can't"
echo 
'</b> open door<br />';
echo 
'girl <b>';
echo 
$acl->isAllowed('girl','car','sit_down_beside_driver') ? "can" "can't";
echo 
'</b>  sit down beside driver<br />';
echo 
'mamy <b>';
echo 
$acl->isAllowed('mamy','car','driver') ? "can" "can't";
echo 
'</b> drive a car<br />';
echo 
'dady <b>';
echo 
$acl->isAllowed('dady','car','drive') ? "can" "can't";
echo 
'</b> drive a car  <br />';
echo 
'dady <b>';
echo 
$acl->isAllowed('dady','car','go_to_wall') ? "can" "can't";
echo 
'</b> go to wall with car <br />';

echo 
'<br /><br />Ye man! dady can do anything :P ';
?>

//end

خروجی :

babay can sit down back
babay can't open door
girl can't sit down beside driver
mamy can't drive a car
dady can drive a car
dady can go to wall with car

Ye man! dady can do anything :P

اگر احساس می کنید که به راهنما های بیشتر نیاز دارید به بهتر به راهنمای Zend Framework مراجعه کنید


البته من انسانی یه شدت فمنیست هستم ! پس این شوخی رو به دل نگیرید

برچسبها: ,

3:12 PM | نظر (0)
 
Why Zend Framework?
خیلی وقته که دنبال یک فریم ورک می گردم که کارم رو راحت کنه اما متاسفانه تا آلان هیج کدومشون این کار رو برای من نکردند.
همشون یک راهنمای گنده دارند و به من می گن که باید این رو بخونی ! ولی حسش نیست تازه اگر هم بخونی تا کسی که کار بلد باشه و راه و چاه ها رو بدونه باید کنارت باشه وگرنه تله توشون زیاده.

امروز با خودم گفتم که این Zend Framework رو هم یک تستی بکنم.
به هر حال Zend براش نقشه ها بزرگی کشیده.

توی خود سایتش این دلایل رو برای اینکه چرا Zend Framework رو استفاده کنیم اورده (بقاله نمی گه ماست من ترشه ! ) :

توسعه داده شده توسط روح php (یکی نیست بگه این دلیله آخه ! )
توسعه داده شده بر اساس سادگی و شی گرا لایسنس دوستانه (!)
توجه به امنیت و استفاده مجدد و برنامه ها web 2 و WebService ها

بعد دوباره خط بعد همین حرف ها رو تکرار کرده ولی بعضی نکاتش رو Bold کرده !
و اگر خودتون سایتش رو بخونید دوباره همین حرف ها رو زده با توضیحات بیشتر !

عجب !‌ فهمید چرا Zend Framework این قدر خوبه ! پس برید ازش استفاده کنید

راستی باز هم باید بگم که به هر حال Zend براش نقشه ها بزرگی کشیده پس ازش غفلت نکنید.

برچسبها: ,

1:22 PM | نظر (1)

چهارشنبه ۱۸ مهر ۱۳۸۶
 
Where is PHP go ?
اهم
خواستم این لینک ها رو بگذارم توی لینک هام ولی دلم نیومد !

۱.راه توسعه PHP

۲.زند مایکروسافت را وارد بازی کرد

واقعا اعصابم از دستشون خرد شد ! به درک که روی ویندوز مایکروسافت خوب کار نمی کنه ! اغلب سرور ها که لینوکسی هستند که ! اون کاربرانی هم که واسه تست PHP رو روی ویندوز نصب می کنند که دیگه نیازی به کارای ندارند ! فوقش هم با apache اجراش می کنند !‌ این چه کاری هست که می رید و اون رو برای کار با IIS بهینه می کنید !

۳.آیا PHP به راحتی به سمت Ajax خواهد رفت

این سایت هم مطالب جالبی نوشته
سخنگوی zend گفته که هدف ما این هست که با کمک Zend Framework یک برنامه drag-drop ای تهیه کنیم ...

برچسبها:

4:18 PM | نظر (0)

سه شنبه ۲۷ شهريور ۱۳۸۶
 
PHP 6.0.0-dev Review 1
خب PHP 6 رو هم واسه تست نصب کردم .
البته هنوز ماژول هاش رو نصب نکردم فعلا همین طوری یک کانفیگ زدم ببینم اوضاع از چه قرار هست !

خب ببینم چه کارهای کردند :
ini_get('register_globals');
دیگه واسه همیشه مقدار False رو بر می گردونه (خداحافظ register_globals)

$HTTP_*_VARS رو هم به سلامتی برداشتند.

هه !
ZE1 رو هم برداشتند !

تابع dl رو هم کاری کردند که فقط در CLI و CGI و EMBED SAPI قابل استفاده است.
من که یک بار هم باش کار نکردم ! هر بلایی دلتون می خواد سرش بیارید !

در error_reporting اگر مقدارش رو E_ALL ست می کردید همه حالت ها رو شامل می شد به غیر از E_STRICT
که آلان E_ALL اون رو هم می پوشونه.

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

برچسبها:

10:24 PM | نظر (2)

جمعه ۱۸ اسفند ۱۳۸۵
 
بفرمایید یک تیکه کیک بخورید

یک مدته هست که دارم روی CakePHP کار می کنم
واقعا ساختار قوی داره
البته یکم که بیشتر برم توی کار می فهمم که چه قدر ساختارش توی دیتابیس قوی هست

هر چی باشه ۵۰ درصد کدها تکراری من رو داره انجام می ده
وصل شدن به دیتابیس
گرفتن اطلاعت
ویرایش اطلاعات

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

برچسبها: ,

5:57 AM | نظر (1)

POWERD BY
B  L  O  G  E  R
تمامی مطالب اینجا اگر بدرتون خورد واسه خودتون