# زبان های اسکریپتی > PHP > Zend Framework >  برای کار با فریم ورک zend از کجا باید شروع کنم؟

## mehdivarse

ممنون میشم اگه یکی برام توضیح بده اصلا فریم ورک چیه و به چه دردی می خوره؟ واینکه اگه بخوام 
با فریم ورک zend کار کنم از کجا باید شروع کنم؟

----------


## Joyebright

بعضی موقعه سوالیو می پرسین که جوابش واضح هستش اما پاسخ به  این جور سوالا که جوابشون مشابه هم هستش، تو همین تاپیک هم جواب سوالتون کم نیست می تونید با جستجو به جوابتون برسید.در مورد zend هم به تاپیکش مراجعه کنید و سعی کنید برای یادگیری به document خود سایت مراجعه کنید.
به هر حال این تاپیک هستش : https://barnamenevis.org/showthread.p...8C%D8%B3%D8%AA

 *فریم ورک چیست و چگونه فریم ورک مناسب را انتخاب کنیم ؟* نویسنده دانیال, در موضوع شی گرایی, فریم ورک, پی اچ پی خیلی وقته که چیزی ننوشتم .. بیشتر بخاطر درگیری و فشار زیاد کاری بود. به هر حال .. می رم سر اصل مطلب *فریم ورک چیست ؟* در نگاه اول فریم ورک به هر کتابخانه ای گفته می شود که نوشته شده باشد. اما فریم ورک  چیزی بیش از یک کتابخانه است. به عنوان مثال یک شرکت سازنده خودرو در نظر  بگیرید. آیا این شرکت ها هر بار برای ساختن خودرو جدید تمام نقشه ها را از  از اول طراحی می کنند ؟ مطمئنا جواب منفی هست. فریم ورک ها در برنامه نویسی چنین معنی دارند. اصولا فریم ورک ها بر اساس ساختار برنامه نویسی شی گرایی تحت عنوان *M*odel , *V*iew , *C*ontroller به اختصار MVC ساخته می شوند. اما نمی توان گفت کتابخانه هایی که بر اساس شی گرایی ساخته نشده اند فریم ورک نیستند. عموما پرتال ها و سیستم های مدیریت محتوا مثل جوملا ، مامبو ، نیوک ، وردپرس و … در نهایت تبدیل به یک کتابخانه یا فریم ورک می شوند. *چرا باید از فریم ورک استفاده کنیم ؟* هیچ اجباری برای اینکه از فریم ورک استفاده کنید وجود نداره. اگر شما یک پرتال خوب رو بدون استفاده از فریم ورک بسازید می تونه خودش یک فریم ورک  یا کتابخانه خوب باشه اما دلیل بر ضعف شما در برنامه نویسی نیست. برنامه  نویس ها معمولا دلایل بسیار زیادی برای استفاده یا عدم استفاده از فریم ورک دارند و معمولا بیشتر برای اثبات اینکه استفاده از فریم ورک صحیح است به مثال ” چرخ را نباید دو بار اختراع کرد ” روی می آورند که این هم غلط است. دلیلی برای اختراع دوباره چرخ وجود نداره مگر اینکه چرخ جدید چرخی بهتر از چرخ قدیم باشه. کلا می خواستم بگم که هیچ وقت از اینکه از فریم فرک استفاده نمی کنید احساس پشیمونی نکنید. *چه زمانی باید شروع به نوشتن فریم ورک کرد ؟* متاسفانه یکی از ضعف های برنامه نویس های ما این هست که به محض یادگیری زبان PHP شروع به نوشتن یک فریم ورک می کنند. البته جوان هستند و جویای نام اما ساخت یک فریم ورک  از صفر وقتی شما تجربه کافی ندارید در نهایت باعث می شود که پروژه شما  منحل یا بدون استفاده کننده تبدیل شود. این مورد رو من زیاد دیدم متاسفانه.  زمانی می تونید به ساختن یک فریم ورک روی بی آورید که شما مهارت و دانش کافی رو داشته باشید و هیچ کدام از فریم ورک های موجود توان برآورده کردن نیاز های شما را ندارد. در این زمان به نظر من شما می تونید شروع به ساخت یک فریم ورک کنید اما همیشه این رو باید به یاد داشته باشید که بروز رسانی و گرفتن باگ ها به عهده شماست. *کدام فریم  ورک را انتخاب کنیم ؟* من با فریم ورک های Codeigniter , Cakephp , ZendFramework , Symfony آشنایی دارم. عموما برنامه نویس ها از CodeIgniter و Cakephp استفاده می کنند در ایران. به نظر من اگر شما یک پروژه خیلی ساده و کوچک دارید Codeigniter انتخاب خوبی خواهد. چرا که از سرعت بالا و سادگی بالایی برخوردار است. Cakephp فریم ورک قوی با ساختار مناسب برای کار های حرفه ای می تونه باشه . اما خب من ضعف هایی در Cakephp دیدم ولی یکی از بهترین قسمت های این فریم ورک لایه Model و ORM هست و در این مورد می توان گفت بسیار خوب عمل کرده اند طوری که کار با دیتابیس برای  برنامه نویس بسیار راحت شده. ZendFramework یکی از بهترین فریم ورک  هاست . بخاطر اینکه مثل یک کتابخانه معمولی در کنار پروژه شما قرار می  گیرد و شما قادر هستید که از تمامی قسمت ها هر طور که مایل هستید استفاده  کنید و یا تغییرات لازم را بدهید. دقیقا مانند یک کتابخانه قوی و مستحکم.  در نهایت به نظر بنده symfony قدرت مطلق فقط و فقط برای پروژه های حرفه ای و عظیم ساخته شده . البته این گفته تا نسخه ۱٫۴ درسته و در نسخه ۲ و تغییراتی که داده شده سرعت اینقدر بالا هست که شما در پروژه های کوچک هم می توانید به سادگی از این فریم ورک استفاده کنید. نهایتا انتخاب فریم ورک باید خیلی دقیق باشه . معمولا برنامه نویس ها نمی تونن با چندین فریم ورک هم زمان کار کنند. پس سعی کنید فریم ورکی را انتخاب کنید که بتونید همیشه استفاده کنید و کمتر دچار مشکل بشوید. *آیا فریم ورک سرعت اسکریپت را پایین می آورد ؟* بله. چون فریم ورک  ها از کلاس های زیادی استفاده می کنند معمولا این مشکل وجود دارد که مقدار  حافظه بیشتری مورد استفاده قرار می گیرد. اما سرعت آنچنان لامس نخواهد بود  که شما بتوانید تشخیص دهید فلان اسکریپت از فریم ورک استفاده کرده یا خیر. همه چیز بستگی به ساختار فریم ورک دارد و نحوه فراخوانی کلاس ها و استفاده از Cache تاثیر بسیار بالایی در سرعت نرم افزار خواهد داشت.

----------


## mahmoodhacker

Joyebright
خوب دوست عزیز که درباره فریم ورک مطلب نوشتی یا کپی کردی :)))
اصلاً فریم ورک یعنی قالب کاری
یعنی به کارشما سمت و سو میده
اما یکی مثل من که زیاده طلبه نمیتونه با هر فریم ورکی یا اصولاً با همشون کنار بیاد.......
به نظر من هرکی یه فریم ورک باید برای خودش درست بکنه
و یه کتابخانه ایجاد کنه.حالا یا خودش زحمتشو بکشه یا
از هر جایی که خوشش میاد کپی بگیره و وصله کنه
راحت تر میتونه با زبان محبوبphp کنار بیاد...

----------


## saeed55sd

> Joyebright
> خوب دوست عزیز که درباره فریم ورک مطلب نوشتی یا کپی کردی :)))
> اصلاً فریم ورک یعنی قالب کاری
> یعنی به کارشما سمت و سو میده
> اما یکی مثل من که زیاده طلبه نمیتونه با هر فریم ورکی یا اصولاً با همشون کنار بیاد.......
> به نظر من هرکی یه فریم ورک باید برای خودش درست بکنه
> و یه کتابخانه ایجاد کنه.حالا یا خودش زحمتشو بکشه یا
> از هر جایی که خوشش میاد کپی بگیره و وصله کنه
> راحت تر میتونه با زبان محبوبphp کنار بیاد...



شما یه نگاه به کتابخونه zend یا بقیه فریم ورک های php بنداز بعد این حرف رو بزن 
علاوه بر این خاصیت plug and play که معماری MVC ایجاد می کنه تو این فریم ورک ها بخاطر کتابخونه قویشون مشهود تره
در حقیقت MVC معماری و همون قالبی هست که شما می گید اما فریم ورک یه تکنولوژی بحساب میاد
اینکه بتونی خودت یه کتابخونه حتی در حد نصف اون چیزی که این فریم ورک ها در این مدت چند ساله بهش رسیدن برسی خیلی خوبه ولی فکر نمی کنم به تنهایی از پسش بر بیای

----------


## Omid_h70

فریم ورک یه قالب کاریه که به کدتون سبق و سیاق میده و عملا تشکیل شده از یه سری کتابخونه که کار شما رو از بسیاری جهات اسون تر می کنه...

فریم ورک های php معمولا عماری mvc رو پیاده می کنن که زند بر همین اساس طراحی شده و خیلی به کارتون نظم می ده ...

مزایای  zend هم میشه گفت اینکه خیلی قوی و قدرتمند هست بزرگترین Community و کتابخانه ها رو داره , برای Enterprise Applications استفاده میشه...

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

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

----------


## mahan19

سلام
دوست عزیز به زبان ساده فریمورک یعنی چهارچوب کدنویسی شما!
این فریمورک شامل یک سری توابع کتابخانه شای آماده میشه که قبلا یک سری آدم کار بلد اونو نوشتن!
در ضمن پیشنهاد میکنم برای شروع سراغ زند نروید!
میتونید از فریمورک های ساده تر مثل CI شروع کنید ، البته قبل از شروع به کار با فریمورک ها ، باید یک تسلط نسبی به خود زبان php داشته باشید
موفق باشید

----------


## behzadamin12

کسی اموزشی از این فریم ورک zend داره؟

----------


## Freedon_23

توضیح در مورد فریم ورک

از مرجع وب:
قبل از تعریف Zend Framework لازم است تعریفی از خود Framework داشته باشیم. Fremawok (فریم ورک):
 در برنامه نویسی کامپیوتر، Framework نرم افزار، در واقع چکیده آن نرم  افزار می باشد که می تواند در حین اجرای یک پروژه توسط این Framework  بوسیله کدنویسی های کاربر تغییراتی در آن ایجاد شود.
 این تعریف کلی از Framework (فریم ورک) بود. در هر زبان برنامه نویسی  Framework شامل مجموعه ای از libraries (کتابخانه ها)، classes (کلاس ها)  می باشد.
    PHP Framework (فریم ورک PHP)
 زبان برنامه نویسی PHP دارای Framework های متعددی می باشد، که البته هر  کدام دارای نقاط ضعف و قوتی می باشند. به دلیل طولانی و پیچیده بودن  مقایسه این Framework ها، در این آموزش فقط به آنها اشاره می کنیم:
 - Zend Framework
 - CodeIgniter Framework
 - Yii Framework
 - Cake PHP Framework
 - Symfony Framework
 - Kohana Framework
 - و ...






> کسی اموزشی از این فریم ورک zend داره؟


آموزش فریم ورک زند - البته آموزشها به مرور زمان اضافه یشه

----------


## elhamgolkhah

> توضیح در مورد فریم ورک
> 
> از مرجع وب:
> قبل از تعریف Zend Framework لازم است تعریفی از خود Framework داشته باشیم. Fremawok (فریم ورک):
>  در برنامه نویسی کامپیوتر، Framework نرم افزار، در واقع چکیده آن نرم  افزار می باشد که می تواند در حین اجرای یک پروژه توسط این Framework  بوسیله کدنویسی های کاربر تغییراتی در آن ایجاد شود.
>  این تعریف کلی از Framework (فریم ورک) بود. در هر زبان برنامه نویسی  Framework شامل مجموعه ای از libraries (کتابخانه ها)، classes (کلاس ها)  می باشد.
>     PHP Framework (فریم ورک PHP)
>  زبان برنامه نویسی PHP دارای Framework های متعددی می باشد، که البته هر  کدام دارای نقاط ضعف و قوتی می باشند. به دلیل طولانی و پیچیده بودن  مقایسه این Framework ها، در این آموزش فقط به آنها اشاره می کنیم:
>  - Zend Framework
> ...



سلام دوست عزیز
مطالب اموزشی شما فوق العاده بود .ولی یک مشکلی برام در هنگام نصب composer پیش امد. شما فرمودید که از شاخه ی bin فایلphp.exe را انخاب کنید در صورتی که در wamp من چنین فایلی موجود نیست.
به نظرتون چیکار باید بکنم؟؟؟؟؟؟

----------


## Freedon_23

> سلام دوست عزیز
> مطالب اموزشی شما فوق العاده بود .ولی یک مشکلی برام در هنگام نصب composer پیش امد. شما فرمودید که از شاخه ی bin فایلphp.exe را انخاب کنید در صورتی که در wamp من چنین فایلی موجود نیست.
> به نظرتون چیکار باید بکنم؟؟؟؟؟؟


شما اگر wamp رو رو سیستم خودتون نصب کرده باشید حتما فایل php.exe وجود دارد من wamp  رو تو درایو D نصب کردم این آدرس فایل php.exe من است

D:\wamp\bin\php\php5.3.9
البته شاید ورژن php  شما با ورژن من فرق داشته باشد  و به جای php5.3.9 ورژن دیگری باشد ولی در کل فایل  php.exe تو پوشه  bin  و داخل پوشه php هست شما اول داخل پوشه wamp بعد پوشه bin  بعد پوشه php برید و داخل اون پوشه php شما موجود هست داخل این پوشه حتما فایل php.exe رو میبینید.

----------

