PDA

View Full Version : نصب زند فریم ورک در لوکال



binboy
پنج شنبه 18 آذر 1389, 10:16 صبح
سلام
خیلی خوشحالم که بخش جداگانه ای با مدیران پر تلاش برای افزایش آگاهی برنامه نویسان عزیز از این فریم ورک قدرتمند و سخت بوجود اوردید.
اولین موضوع این بخش را اختصاص می دهم به اولین مرحله شروع با زند، آن هم جگوگی نصب آن بر روی زمپ است. راستشو بخواید مقالات انگلیسی زیاد خوندم و روش های زیادی وجود دارد ولی الان گیجم و نمی دونم چرا نصب نمیشه! لطفا شما یک توضیح مفصل و کارامد راجب نصب این فریم ورک روی زمپ بدین؟
با تشکر

HRezaei
پنج شنبه 18 آذر 1389, 23:35 عصر
بنده هم از funpatogh عزیز بابت راه اندازی این بخش تشکر می کنم.
اما درمورد ZF به نظر من، قدرتمند هست اما سخت نیست.
نصب خاصی هم نیاز نداره به اون معنایی که ما از "نصب" تو ذهن داریم.
برای استفاده ازین فریم ورک کافیه فایل هاش رو روی هاردتون extract کنید. بعد مسیر پوشه ی library (که داخل فایل های کپی شده هستش) رو به php include path اضافه کنید. به همین سادگی شما می تونید از کلاس های ZF استفاده کنید.
برای اضافه کردن library به include path هم میتونید از کدی شبیه این :

set_include_path(implode(PATH_SEPARATOR, array(
"path/to/library",
get_include_path(),
)));
استفاده کنید.
یا اینکه فایل php.ini رو تغییر بدید و php رو ریست کنید.(همون زمپ، ومپ یا...که ریست کنید phpهم ریست میشه)
برای تغییر php.ini هم اگه لوکالتون ویندوزه خط

;include_path = ".;c:\php\includes"
رو پیدا کنید (یا چیزی شبیه به اون) و از شکل توضیح درش بیارید. یعنی ; اولش رو حذف کنید. بعد هم مسیر library رو با یه جداکننده ; به داخل "" اضافه کنید. شبیه این:

include_path = ".;c:\php\includes;c:\path\to\library"
توی لینوکس هم ظاهرا همین طوره، الا اینکه جداکننده کاراکتر : هستش، کاراکتر\ با / عوض میشه و به حروف کوچیک و بزرگ هم حساسه
داخل خود php.ini مثالش هست.
در حقیقت کافیه موتور php آدرس کتابخونه ی زند رو بلد باشه تا شما بتونید از کلاساش استفاده کنید. البته راه اندازی یه Zend_Application و autoloading و autorouting بحثای دیگه ایه که فکر نمی کنم به نصب این فریم ورک ربطی داشته باشه ولی اگه بخواین پروژتون رو کامل با ZF بنویسید یه چندتا کار ابتدایی تو این زمینه ها باید انجام بدید(url_rewriting,...)

binboy
جمعه 19 آذر 1389, 00:03 صبح
ممنون از پاسخ
اگر مرجع فارسی (کتاب، مقاله، سایت و ...) جهت آموزش زند فریم ورک وجود دارد، معرفی کنید؟

بنده هم از funpatogh
در حقیقت کافیه موتور php آدرس کتابخونه ی زند رو بلد باشه تا شما بتونید از کلاساش استفاده کنید. البته راه اندازی یه Zend_Application و autoloading و autorouting بحثای دیگه ایه که فکر نمی کنم به نصب این فریم ورک ربطی داشته باشه ولی اگه بخواین پروژتون رو کامل با ZF بنویسید یه چندتا کار ابتدایی تو این زمینه ها باید انجام بدید(url_rewriting,...)
بله منظورم طریقه استفاده زند در پروژه است. یک مثال کاربردی یا توضیح فرقی ندارد، برای استفاده این فریم ورک بزنید ممنون میشم؟
در ضمن تا آنجا که من جستجو کردم مرجعی فارسی پیدا نکردم اگر هم شما سراغ دارید بدید تا استفاده کنیم اگر نه که یک همت کنید و خودتون بشید مرجع، چون فارسیش نیست میتونه کار ارزشمندی بشه. این فقط یک پیشنهاد است.
با تشکر

HRezaei
جمعه 19 آذر 1389, 06:43 صبح
یکی از دوستان (zamanphp (http://barnamenevis.org/member.php?19602-zamanphp)) چند وقتیه داره رو پیشنهاد شما کار می کنه.
http://zendframework.ir
به نظر میرسه همتش هست، ولی وقت و فرصتش نیست! باید یه کم صبور باشیم.



بله منظورم طریقه استفاده زند در پروژه است. یک مثال کاربردی یا توضیح فرقی ندارد، برای استفاده این فریم ورک بزنید ممنون میشم؟


اگه از Zend Studio استفاده می کنید می تونید به منوی File->New->Example برید و ویزاردی که باز می شه رو با گزینه ی Zend Framework Example Project ادامه بدید تا یه مثال کاربردی داشته باشید.
شاید این نمونه هم به دردتون بخوره:
QuickStart (http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz)
(http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz)

binboy
جمعه 19 آذر 1389, 11:28 صبح
ایشون که هنوز شروع به کار نکردن پس میرسیم به ابنکه هنوز مرجع فارسی وجود ندارد.
از Zend Studio استفاده نمی کنم ولی نمونه ای که داده بودید را دانلود کردم. اگر وقتش را کردی یک توضیح از شیوه کار برای این مثال بزن تا فهمش بهتر شود.
با تشکر

mohan21
جمعه 26 آذر 1389, 17:44 عصر
با سلام

زند رو دانلود کردم و شروع به نصب و ...
اما به مشکلی برخوردم که هر کاری کردم رفع نشد ...
نمونه QuickStart (http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz) رو هم دانلود کردم اما همون مشکل رو دارم ...
مقدار APPLICATION_PATH فایل application.ini رو با ادرس اصلی دستی جایگزین کردم. (T:\wamp\www\ZendFrameworkQuickstart-20100208\application)
به فایل php.ini هم مسیر کتابخانه رو دادم ::

include_path = ".;c:\php\includes;T:\wamp\www\ZendFrameworkQuickst art-20100208\library"وقتی آدرس http://localhost/ZendFrameworkQuickstart-20100208/public رو وارد میکنم پیام زیر رو میده ....

Fatal error: Class 'Zend_Application_Bootstrap_Bootstrap' not found in t:\wamp\www\zendframeworkquickstart-20100208\application\bootstrap.php on line 3چطور باید مشکل رو حل کنم ؟؟؟؟

با تشکر از شما دوستان

HRezaei
جمعه 26 آذر 1389, 23:32 عصر
حدس میزنم پوشه ی library تون خالی باشه. تو نمونه دانلودی که گذاشتم این پوشه خالیه. یا محتویات library از سورس ZF رو کپی کنید این تو؛ یا مسیری که تو فایل ini. دادید عوض کنید.

mohan21
شنبه 27 آذر 1389, 00:02 صبح
اما پر هست ....
پروژه من در مسیر T:\wamp\www\ZendFrameworkQuicks tart-20100208 قرار داره و کتابخانه هم در این آدرس T:\wamp\www\ZendFrameworkQuicks tart-20100208\library
در فایل php.ini هم بصورت زیر آدرس دهی کردم :::

include_path = ".;c:\php\includes;T:\wamp\www\ZendFrameworkQuicks tart-20100208\library"



همه چی سرجای خودش هست، مشکل چیه؟؟
ایا تنظیمات دیگه ایی باید انجام بشه؟؟
چکار باید کنم؟

HRezaei
شنبه 27 آذر 1389, 01:08 صبح
اولا این فاصله ای که تو آدرساتون هست رو (اگه واقعا وجود دارند)حذف کنید،محض احتیاط(...Qu icks tart... )
ثانیا یه نگاهی به خروجی ()phpinfo بندازید ببینید include_path همونیه که شما ست کردید یا نه؟
ممکنه Application شما آماده واسه autoloading نباشه، واسه این کار دو خط زیر رو به فایل index.php تون اضافه کنید:
خط

require_once 'Zend/Application.php';
رو با

require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance();
عوض کنید

مشخصا فایل library\Zend\Application\Bootstrap\Bootstrap.php\ لود نشده و کلاس Zend_Application_Bootstrap_Bootstrap قابل استفاده و توسعه نیست.

mohan21
شنبه 27 آذر 1389, 08:45 صبح
دوست گرامی همچنان همین پیام رو میده، نام پروژه رو به "ZendTest" تغییر دادم ...
دستورات شما رو هم انجام دادم اما نشد ...
محتویات فایل index پوشه public ::


<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));

/** Zend_Application */
//require_once 'Zend/Application.php';

require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance();

// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();

همچنین محتویات فایل application.ini ::

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = "http://localhost/ZendTest/library"
bootstrap.path = "http://localhost/ZendTest/application/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = "http://localhost/ZendTest/application/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = "http://localhost/ZendTest/application/layouts/scripts/"
resources.view[] =
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = "http://localhost/ZendTest/application/../data/db/guestbook.db"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = "http://localhost/ZendTest/application/../data/db/guestbook-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = "http://localhost/ZendTest/application/../data/db/guestbook-dev.db"

دیگه باید چکار کنم؟؟
چرا حل نمیشه ....

mohan21
شنبه 27 آذر 1389, 09:48 صبح
در فایل Application.php، در تابع setOptions سه عنصر از ارایه$options خالی هست ::


$options['config'])
$options['autoloadernamespaces']
$options['autoloaderzfpath']

که وارد سه شرط زیر نمیشه ::


if (!empty($options['config']))
if (!empty($options['autoloadernamespaces']))
if (!empty($options['autoloaderzfpath']))

ایا مشکل از همینآ نیست؟
چطور باید حل کرد؟؟

با تشکــــــــــــــــــر

HRezaei
شنبه 27 آذر 1389, 14:34 عصر
شما که مشکلت حل نشده، تشکر واسه چی؟!

ایا مشکل از همینآ نیست؟نه.
شما به خروجی ()phpinfo سر زدی؟
یه فایل مثلا info.php تو پوشه public بساز توش بنویس:

<?php
echo phpinfo();
?>
خروجیشو بررسی کن. ببین include_path همونیه که تو php.ini دادی؟
با تغییراتی که تاحالا دادی هنوز همون خطا رو میده؟!! (متن کاملشو بزار)
بیبن این فایل
ZendTest\library\Zend\Application\Bootstrap\Bootst rap.php
وجود داره؟!!

mohan21
شنبه 27 آذر 1389, 15:10 عصر
شما این پست رو خواندید؟

http://barnamenevis.org/showthread.php?263889-%D9%86%D8%B5%D8%A8-%D8%B2%D9%86%D8%AF-%D9%81%D8%B1%DB%8C%D9%85-%D9%88%D8%B1%DA%A9-%D8%AF%D8%B1-%D9%84%D9%88%DA%A9%D8%A7%D9%84&p=1174575&viewfull=1#post1174575

بله باز هم همین خطا رو میده ....
این خروجی ()phpinfo
.;c:\php\includes;T:\wamp\www\ZendTest\library



Fatal error: Class 'Zend_Application_Bootstrap_Bootstrap' not found in t:\wamp\www\ZendTest\application\bootstrap.php on line 3

HRezaei
یک شنبه 28 آذر 1389, 13:10 عصر
شما این پست رو خواندید؟




خوندم اما دقت نکردم.
قبلا هم اینو گفته بودید:!

مقدار APPLICATION_PATH فایل application.ini رو با ادرس اصلی دستی جایگزین کردم. (T:\wamp\www\ZendFrameworkQuickstart-20100208\application)
نیازی به این جایگزینی نیست. اینجوری که اگه شما اسم پوشه رو عوض کردید صدجا باید عوضش کنید! شما از همون application.ini اصلی (فعلا بدون تغییر ) استفاده کن. اگه مسیر library تو include_path باشه این سمپل هیچ تنظیم و تغییر خاص دیگه ای نمی خواد(با توجه به خطایی که گزارش می کنید)

decoder2012
یک شنبه 08 اسفند 1389, 16:57 عصر
Installing Zend Framework on WAMP Server for Windows

My PC MVC development/test configuration is Windows and WampServer (http://www.wampserver.com/en/)
and here are easy install instructions on how I use Zend Framework:

1) download and install Zend Framework by putting the Zend folder in a
server directory path (mine is wamp\www). I renamed the current lib
folder to 'Zend' just to keep it simple. And the full or minimal
package works here, but only min is needed for basic examples.

2) add either an include path for the \Zend\library... folder as they
indicate, or copy the \Zend\library\Zend folder into the same library
folder with the rest of this app. The include path in a test index.php
start-up file will find either one. Here is an example of that code:
set_include_path('library'. PATH_SEPARATOR. get_include_path());

This is what I added to my server's php.ini just for reference:
include_path = ".;c:\wamp\www\zend\library"
(not the php.ini in the php directory, if you edit this manually)

3) install your test app folder in the server path. (I put it in ..\Zend also).

4) start/re-start your test server.

5) then run your test URL something like this in your browser:
http://localhost/Zend/test/index.php

Here is the default directory structure I use (based on a prior Quickstart):

\wamp\www\Zend\test...
then:
..\application
..\controllers
..\layouts
..\models
..\views
..\data
..\php
..\text
..\xml
..\library (basically empty, where the Zend folder goes if needed)
..\public
..\css
..\js

View example Zend website (http://ajamyajax.com/index.php) (AjaMyAjax) with this design...

Now if trying the QuickStart example app, it might take a bit more effort to run.
I got the current version -- which has changed over time -- to work in WAMP Server
by doing these steps:

First, download the QuickStart app and put it in some folder name in C:\wamp\www.
I chose to call it: C:\wamp\www\ZendQuickstart

Then find this apache server file, edit it, and uncomment the 'Include' as shown below:
C:\wamp\bin\apache\Apache2.x.xx\conf\httpd.conf


# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Then you need to add something like this to the end of your httpd-vhosts.conf file
which is found in C:\wamp\bin\apache\Apache2.x.xx\conf\extra\.
(Of course making any Zend folder name changes you choose to use)


# needed for all WAMP requests that do not match a ServerName
# or ServerAlias in any <VirtualHost> block
<VirtualHost *:80>
DocumentRoot /wamp/www
</VirtualHost>

<VirtualHost *:80>
ServerName quickstart.local
DocumentRoot /wamp/www/ZendQuickstart/public
SetEnv APPLICATION_ENV "development"
# (if needed:)
# <Directory /wamp/www/ZendQuickstart/public>
# DirectoryIndex index.php
# AllowOverride All
# Order allow,deny
# Allow from all
# </Directory>
</VirtualHost>

Then I had to go over to my C:\wamp\www\ZendQuickstart/public folder
and rename the .htaccess file to .htaccess.old to avoid server errors...
Perhaps you can figure out a cleaner way to fix those errors, but this works.

Now stop/restart your WAMP Server and try QuickStart to see if it loads now...
I prefer to run all apps directly, so I use this command line in my browser:
http://localhost/ZendQuickStart/public/index.php

IF you get any Zend level errors, try adding this fix I found as user comments
on the Zend site comment page (if no Quickstart errors, they fixed this/it's gone).

In the ../application/bootstrap.php file, add the 'user code...' segment:


protected function _initDoctype()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML1_STRICT');



// user code comment to fix error:
$loader = new Zend_Loader_Autoloader_Resource (array (
'basePath' => APPLICATION_PATH,
'namespace' => 'Application',
));

$loader -> addResourceType ( 'model', 'models', 'Model');
$loader -> addResourceType ( 'form', 'forms', 'Form');

}
...
(Note I added the last line after a form error similar to the model error
the other user found a fix for -- thank you.)

Hope this helps. Best of luck. (also actual working examples here)

For code examples on using Zend Framework with JavaScript AJAX, try
BasicAjax example (http://ajamyajax.com/basicajax.html)...

If Zend with PHP cURL instead of AJAX is what you want, try the
BasiccURL example (http://ajamyajax.com/basiccurl.html)...

For XAMPP/LAMPP Server installation help instead, try my
XAMPP install page (http://ajamyajax.com/zendxampp.html)...

AjaMyAjax home page (http://ajamyajax.com/)...

Also have you tried fast, free Ubuntu Linux (http://www.ubuntu.com/) yet, Windows($) users???
Get it here:
Ubuntu download page (http://www.ubuntu.com/getubuntu/download)...

"Why Ubuntu Linux is better than Windows..."
or IMO at least worth trying before paying for your next O/S upgrade...

decoder2012
یک شنبه 08 اسفند 1389, 17:00 عصر
دوستانت من ایت آموزش رو پیدا کردمن تا حدودی هم باش پیش رفتم اما نشد .
آدرس اصلیش هم اینه : http://ajamyajax.com/zendwamp.html
لطفاً اگر کسی در خصوص نصب این فریم ورک اطلاعاتی داره به زبان فارسی برای ما نیز قرار بده .
دستمون تو حناس
مرسی

UnnamE
پنج شنبه 19 اسفند 1389, 09:46 صبح
ساده تر از نصب زند من نديدم
مرحله اول:
download / extract به apache root
مرحله دوم:
مرحله دومي نيست...!

HRezaei
پنج شنبه 19 اسفند 1389, 14:46 عصر
...والسلام!

Metal Gear Solid
سه شنبه 24 اسفند 1389, 13:05 عصر
سلام
ببخشید من تمامی ارسال های بالا رو خوندم اما چیزی نفهمیدم
من نرم افزار Zend Studio رو از یکی از سایت های ایرانی دانلود کردم و الان هم توی یکی از درایوهام نصب کردم. حجمش چیزی حدود 700 مگ شد فکر کنم. داخل نرم افزار، لوکال هاست رو نمیشناسه. این پوشه ی Library هم که بالا نوشتند رو من توی پوشه های نصبی برنامه اصلاً ندارم. این پوشه کجا هست!؟
سوال بعدی اینه که این کدهای بالا که نوشتند دوستان رو کجا باید وارد کنم؟ راه ساده تری وجود نداره؟

alihosseini1365
سه شنبه 11 مرداد 1390, 19:54 عصر
سلام...
آقایون شرمنده...
کسی می دونه چطوری باید zend framework رو رویه netbeans نصب کردش...
راستش من زند رو رویه نت بینز نصب کردم...لوی هرکاری می کنم چیزی بالا نمیاره... یعنی وقتی ران رو میزنم... و مرورگز باز میشه میگه پورت ۸۰ بسته هستش و از این چیزها...
اگه میشه بگید که چوری باید مشکل رو حل کنم؟؟؟
درضمن بعضی از جاها و مطالب بالا خوندم که باید یه سری تنظیمات رو انجام داد....ولی چیزی سر در نیارودم...
فقط بگید که رویه لینوکس چطوری باید نصب بشه... من ویندوز ندارم...
با تشکر... فقط خواهشا قدم به قدم بگید..فکر کنید من چیزی بلد نیستم.... :دی

aurora_sepideh
دوشنبه 30 بهمن 1391, 10:18 صبح
برای یادگیری نصب به لینک زیر برید ، مرحله به مرحله انجام میده ، من خودم از روی همین نصب کردم
http://www.youtube.com/watch?v=wa9o4VZu-NI

S.O.A.D
چهارشنبه 18 دی 1392, 15:13 عصر
نصب زند فریم ورک 2 بر روی xampp
ابتدا فایل ZendFramework-2.2.5 رو یه جا اکسترکت می کنیم. من توی فولدر xampp، کنار htdocs کپی کردم.
فایل ZendSkeletonApplication رو توی فولدر htdocs اکسترکت می کنیم. من اسم فولدر رو به zend01 تغییر دادم.
توی مسیر xampp>apache>conf>extra فایل httpd-vhosts.conf رو ویرایش می کنیم و یک Virtual Host تعریف می کنیم.
راحت ترین روش اینه که همون چیزی که هست رو از حالت کامنت خارج کنیم و با توجه به مسیر نصب Xampp ویرایش کنیم.
این سطر رو هم از حالت کامنت خارج کنید: NameVirtualHost *:80


<VirtualHost *:80>
ServerAdmin info@webarena.ir
DocumentRoot "C:/xampp/htdocs/zend01/public"
ServerName zend01.local
ServerAlias www.zend01.local
SetEnv ZF2_PATH "C:/xampp/ZendFramework-2.2.5/library"
ErrorLog "logs/zend01.local-error.log"
CustomLog "logs/zend01.local-access.log" combined
</VirtualHost>

حالا از مسیر زیر فایل hosts رو ویرایش می کنیم:
c:\Windows\System32\Drivers\etc\
در انتهای فایل دو سطر زیر رو (البته باتوجه به چیزی که توی فایل قبلی نوشتین) اضافه می کنیم:


127.0.0.1 zend01.local
127.0.0.1 www.zend01.local


خب حالا apache رو ریستارت می کنیم. توی مرورگر آدرس رو وارد می کنیم.

i-php-i
پنج شنبه 20 شهریور 1393, 19:25 عصر
دلیل اینکه باید پوشه liberary این فریک ورک رو توی پوشه lib قرار داد چیه؟ چطور می شه بجای این کار آدرس پوشه liberary رو فریم ورک داد تا فایلها رو اینکلود کنه؟

Freedon_23
سه شنبه 19 اسفند 1393, 11:37 صبح
آموزش نصب فریم ورک Zend (http://www.webreference.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%88%D8%A8/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-zend-framework/126-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-zend-framework-%D9%86%D8%B5%D8%A8-%D9%81%D8%B1%DB%8C%D9%85-%D9%88%D8%B1%DA%A9-zend.html)