When you are developing modules for ZF2, you have to add your model name manually to the application.config.php file:
If you want to "load" your module without doing this (use this only for development!!! not in production!!!) you can hack the application.config.php to construct the array with the modules in your filesystem.
This will read your modules directory and fill the configuration array with them. Just a quick hack!
When deploying to production just add your production modules in the original config array and its ready to work.
Update:
As Manuel Stosic pointed out in the ZF2 group in facebook, this is not a good approach if you you need to preserve loading order. This is intended to be use in your own modules while developing (i use this approach with a dev partner), if you are going to use zfcUser, etc... just put those modules in the original config array.
Mostrando las entradas con la etiqueta zf2. Mostrar todas las entradas
Mostrando las entradas con la etiqueta zf2. Mostrar todas las entradas
20130425
20130308
How to start working with ZfcUser (ZF2)
I will explain how to setup a Zend Framework Application from the skeleton app in github and then how to install and configure the module called ZfcUser .
The purpose of ZfcUser is:
The purpose of ZfcUser is to provide a flexible foundation for the common practice of user authentication / identification and registration. Ultimately, a user will authenticate via some authentication adapter, and upon successful authentication will be identified by a populated user model for the given session. The focus of ZfcUser is flexibility and more importantly, extendibility. ZfcUser should be able to successfully serve as a starting point for authentication in a very large percentage of ZF2 web applications with widely varying names.
So lets start...
Requirements for this howto:
- PHP 5.3.3+ (with pdo-sqlite or pdo-mysql),
- I'm using php 5.4 that has a built in webserver (note: use it only for dev purposes!!!).
- Git
- sqlite
Install Zend Framework 2 Application
The process is described here, but basically you install composer:~> curl -s https://getcomposer.org/installer | php --
Then install the application using composer:
~> php composer.phar create-project --repository-url="http://packages.zendframework.com" zendframework/skeleton-application
There are alternate methods in the skeleton application github page.
At this point we will have ZF2 MVC application installed and working, can check this using the php built in webserver (5.4+),
~>php -S localhost:8888 -t public/
and browsing to http://localhost:8888 with your browser:
Install ZfcUser
Edit the composer.json file and add this line to require ZfcUser. Composer will automatically install ZfcBase thats a dependency of ZfcUser.composer.json should look like this:
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.*",
"zf-commons/zfc-user": "dev-master"
}
}
Then update the dependencies:
~> php composer.phar update
Configure Zend Framework to work with ZfcUser
Add those modules (ZfcBase and ZfcUser) to the application configuration so they can be bootstraped and configured, editing /config/application.config.php:As you can see in your browser the module is active, browse http://localhost:8888/user
If you try to Sign up, clicking in the link you will receive an Application error, and that simply because we didn't configure the database yet.
Let's setup the database with the schema that comes with ZfcUser. You can locate the folder /vendor/zf-commons/zfc-user/data . ZfcUser provides 3 schemas, one for postgres, one for mysql and one for sqlite. We will use sqlite configuration: schema.sqlite.sql .
From the root folder of the application, run:
~> cat vendor/zf-commons/zfc-user/data/schema.sqlite.sql | sqlite3 data/users.db
Now we need to configure the database adapter so the module can recognize it.
Create a file called database.local.php in the /config/autoload folder and add the configuration:
<?php
return array(
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
'db' => array(
'driver' => 'pdo',
'dsn' => 'sqlite:'.getcwd().'/data/users.db',
),
);
And bam! its done, i can signup:
Fantastic!!!
Check the wiki to override the default behavior:
https://github.com/ZF-Commons/ZfcUser/wiki
Suscribirse a:
Entradas (Atom)










