For example: You build a form with Zend_Form, the only one Email address text box is simple and used to determine Zend_Validate_EmailAddress Email is valid:
When you run the function, you attempt to enter an invalid email example: 123; á @ 12222, and of course it's an error, a heap of errors like this:
But if you want all the messages above a certain language (as Default), why? For example, you want to report in Vietnamese? You will have to use Zend_Translate by way or that. But certainly one thing that you would like to be a headache.
After some research, I found a way that I was very pleased, and in this article I want to share with you.
Note that I do on Zend 1:10:
And I wrote in my file vi.csv following language
After running the function, the resulting error is as follows:
Zend_Translate and Error message
backup database mysql automatic with mysqldump
Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit
--no-defaults Don't read default options from any options file
--defaults-file=# Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read
-a, --all Deprecated. Use --create-options instead.
-A, --all-databases Dump all the databases. This will be same as --databases
with all databases selected.
-Y, --all-tablespaces
Dump all the tablespaces.
-y, --no-tablespaces
Do not dump any tablespace information.
--add-drop-database Add a 'DROP DATABASE' before each create.
--add-drop-table Add a 'drop table' before each create.
--add-locks Add locks around insert statements.
--allow-keywords Allow creation of column names that are keywords.
--character-sets-dir=name
Directory where character sets are.
-i, --comments Write additional information.
--compatible=name Change the dump to be compatible with a given mode. By
default tables are dumped in a format optimized for
MySQL. Legal modes are: ansi, mysql323, mysql40,
postgresql, oracle, mssql, db2, maxdb, no_key_options,
no_table_options, no_field_options. One can use several
modes separated by commas. Note: Requires MySQL server
version 4.1.0 or higher. This option is ignored with
earlier server versions.
--compact Give less verbose output (useful for debugging). Disables
structure comments and header/footer constructs. Enables
options --skip-add-drop-table --no-set-names
--skip-disable-keys --skip-add-locks
-c, --complete-insert
Use complete insert statements.
-C, --compress Use compression in server/client protocol.
--create-options Include all MySQL specific create options.
-B, --databases To dump several databases. Note the difference in usage;
In this case no tables are given. All name arguments are
regarded as databasenames. 'USE db_name;' will be
included in the output.
-#, --debug[=#] This is a non-debug version. Catch this and exit
--debug-check Check memory and open file usage at exit.
--debug-info Print some debug info at exit.
--default-character-set=name
Set the default character set.
--delayed-insert Insert rows with INSERT DELAYED;
--delete-master-logs
Delete logs on master after backup. This automatically
enables --master-data.
-K, --disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and
'/*!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put
in the output.
-E, --events Dump events.
-e, --extended-insert
Allows utilization of the new, much faster INSERT syntax.
--fields-terminated-by=name
Fields in the textfile are terminated by ...
--fields-enclosed-by=name
Fields in the importfile are enclosed by ...
--fields-optionally-enclosed-by=name
Fields in the i.file are opt. enclosed by ...
--fields-escaped-by=name
Fields in the i.file are escaped by ...
-x, --first-slave Deprecated, renamed to --lock-all-tables.
-F, --flush-logs Flush logs file in server before starting dump. Note that
if you dump many databases at once (using the option
--databases= or --all-databases), the logs will be
flushed for each database dumped. The exception is when
using --lock-all-tables or --master-data: in this case
the logs will be flushed only once, corresponding to the
moment all tables are locked. So if you want your dump
and the log flush to happen at the same exact moment you
should use --lock-all-tables or --master-data with
--flush-logs
--flush-privileges Emit a FLUSH PRIVILEGES statement after dumping the mysql
database. This option should be used any time the dump
contains the mysql database and any other database that
depends on the data in the mysql database for proper
restore.
-f, --force Continue even if we get an sql-error.
-?, --help Display this help message and exit.
--hex-blob Dump binary strings (BINARY, VARBINARY, BLOB) in
hexadecimal format.
-h, --host=name Connect to host.
--ignore-table=name Do not dump the specified table. To specify more than one
table to ignore, use the directive multiple times, once
for each table. Each table must be specified with both
database and table names, e.g.
--ignore-table=database.table
--insert-ignore Insert rows with INSERT IGNORE.
--lines-terminated-by=name
Lines in the i.file are terminated by ...
-x, --lock-all-tables
Locks all tables across all databases. This is achieved
by taking a global read lock for the duration of the
whole dump. Automatically turns --single-transaction and
--lock-tables off.
-l, --lock-tables Lock all tables for read.
--log-error=name Append warnings and errors to given file.
--master-data[=#] This causes the binary log position and filename to be
appended to the output. If equal to 1, will print it as a
CHANGE MASTER command; if equal to 2, that command will
be prefixed with a comment symbol. This option will turn
--lock-all-tables on, unless --single-transaction is
specified too (in which case a global read lock is only
taken a short time at the beginning of the dump - don't
forget to read about --single-transaction below). In all
cases any action on logs will happen at the exact moment
of the dump.Option automatically turns --lock-tables off.
--max_allowed_packet=#
--net_buffer_length=#
--no-autocommit Wrap tables with autocommit/commit statements.
-n, --no-create-db 'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will
not be put in the output. The above line will be added
otherwise, if --databases or --all-databases option was
given.}.
-t, --no-create-info
Don't write table creation info.
-d, --no-data No row information.
-N, --no-set-names Deprecated. Use --skip-set-charset instead.
--opt Same as --add-drop-table, --add-locks, --create-options,
--quick, --extended-insert, --lock-tables, --set-charset,
and --disable-keys. Enabled by default, disable with
--skip-opt.
--order-by-primary Sorts each table's rows by primary key, or first unique
key, if such a key exists. Useful when dumping a MyISAM
table to be loaded into an InnoDB table, but will make
the dump itself take considerably longer.
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's solicited on the tty.
-W, --pipe Use named pipes to connect to server.
-P, --port=# Port number to use for connection.
--protocol=name The protocol of connection (tcp,socket,pipe,memory).
-q, --quick Don't buffer query, dump directly to stdout.
-Q, --quote-names Quote table and column names with backticks (`).
--replace Use REPLACE INTO instead of INSERT INTO.
-r, --result-file=name
Direct output to a given file. This option should be used
in MSDOS, because it prevents new line '\n' from being
converted to '\r\n' (carriage return + line feed).
-R, --routines Dump stored routines (functions and procedures).
--set-charset Add 'SET NAMES default_character_set' to the output.
Enabled by default; suppress with --skip-set-charset.
-O, --set-variable=name
Change the value of a variable. Please note that this
option is deprecated; you can set variables directly with
--variable-name=value.
--shared-memory-base-name=name
Base name of shared memory.
--single-transaction
Creates a consistent snapshot by dumping all tables in a
single transaction. Works ONLY for tables stored in
storage engines which support multiversioning (currently
only InnoDB does); the dump is NOT guaranteed to be
consistent for other storage engines. While a
--single-transaction dump is in process, to ensure a
valid dump file (correct table contents and binary log
position), no other connection should use the following
statements: ALTER TABLE, DROP TABLE, RENAME TABLE,
TRUNCATE TABLE, as consistent snapshot is not isolated
from them. Option automatically turns off --lock-tables.
--dump-date Put a dump date to the end of the output.
--skip-opt Disable --opt. Disables --add-drop-table, --add-locks,
--create-options, --quick, --extended-insert,
--lock-tables, --set-charset, and --disable-keys.
-S, --socket=name Socket file to use for connection.
--ssl Enable SSL for connection (automatically enabled with
other flags). Disable with --skip-ssl.
--ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
--ssl).
--ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=name X509 cert in PEM format (implies --ssl).
--ssl-cipher=name SSL cipher to use (implies --ssl).
--ssl-key=name X509 key in PEM format (implies --ssl).
--ssl-verify-server-cert
Verify server's "Common Name" in its cert against
hostname used when connecting. This option is disabled by
default.
-T, --tab=name Creates tab separated textfile for each table to given
path. (creates .sql and .txt files). NOTE: This only
works if mysqldump is run on the same machine as the
mysqld daemon.
--tables Overrides option --databases (-B).
--triggers Dump triggers for each dumped table
--tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping of
TIMESTAMP data when a server has data in different time
zones or data is being moved between servers with
different time zones.
-u, --user=name User for login if not current user.
-v, --verbose Print info about the various stages.
-V, --version Output version information and exit.
-w, --where=name Dump only selected records; QUOTES mandatory!
-X, --xml Dump a database as well formed XML.
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
all TRUE
all-databases FALSE
all-tablespaces FALSE
no-tablespaces FALSE
add-drop-database FALSE
add-drop-table TRUE
add-locks TRUE
allow-keywords FALSE
character-sets-dir (No default value)
comments TRUE
compatible (No default value)
compact FALSE
complete-insert FALSE
compress FALSE
create-options TRUE
databases FALSE
debug-check FALSE
debug-info FALSE
default-character-set utf8
delayed-insert FALSE
delete-master-logs FALSE
disable-keys TRUE
events FALSE
extended-insert TRUE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
first-slave FALSE
flush-logs FALSE
flush-privileges FALSE
force FALSE
hex-blob FALSE
host (No default value)
insert-ignore FALSE
lines-terminated-by (No default value)
lock-all-tables FALSE
lock-tables TRUE
log-error (No default value)
master-data 0
max_allowed_packet 25165824
net_buffer_length 1046528
no-autocommit FALSE
no-create-db FALSE
no-create-info FALSE
no-data FALSE
order-by-primary FALSE
port 0
quick TRUE
quote-names TRUE
replace FALSE
routines FALSE
set-charset TRUE
shared-memory-base-name (No default value)
single-transaction FALSE
dump-date TRUE
socket (No default value)
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-verify-server-cert FALSE
tab (No default value)
triggers TRUE
tz-utc TRUE
user (No default value)
verbose FALSE
where (No default value)
Example simple for linux:
/usr/bin/mysqldump -u'user' -p'password' --all-database > /home/sites/bk.sql
Example simple for windows:
D:\xampp\mysql\bin\mysqldump -u'user' -p'password' --all-database > D:\backup\bk.sql
Advanced Array function
No.
|
Function
|
Defined
|
1
|
print_r ($
array)
|
View
the structure of the array
|
2
|
count ($
array)
|
Returns
the integer value is the number of array elements
|
3
|
array_values ($
array)
|
Returns
an array constant is the element value is the value derived
from elements of the array $ array
|
4
|
array_keys ($
array)
|
Returns
an array constant is the element whose value is derived from key elements
of the array $ array.
|
5
|
array_pop ($
array)
|
Removes the
last element of the array. The function returns the last
element is removed.
|
6
|
array_push ($
array, $ VAL1, $ val2, ..., $ valn)
|
Add
one or more elements at the end of the array $ array. The
function returns the integer is the number of elements of the new array $
array
|
7
|
array_shift ($
array)
|
Removes
the first element of the array. The function returns
the first element is removed.
|
8
|
array_unshift ($
array, $ VAL1, $ val2, ..., $ valn)
|
Add
one or more of the first array element in $ array. The
function returns the integer is the number of elements of the new array $
array
|
9
|
array_flip ($
array)
|
Returns
an array of keys and values are interchangeable with the array $ array
(lock and key values into the value)
|
10
|
sort ($
array)
|
Sort
array $ array as the value increases
|
11
|
array_reverse ($
array)
|
Reverse
the position of the array elements
|
12
|
array_merge ($
array1, $ array2, ..., $ arrayn)
|
Enter
two or more arrays into a single array and returns a new array
|
13
|
array_rand
($
Array, $ number)
|
Get
$ number random element from the array $ array and put in new film (get key
value)
|
14
|
array_search
($
Value, $ array)
|
Find
the element value in array $ array $ value. Returns the key of the
element found.
|
15
|
array_slice
($
Array, $ begin. $ Finish)
|
Extracting
an element of the array $ array from location to location $ $ begin finish. The
first element (index 0), the last element (index -1 or count ($ array) - 1)
|
16
|
array_unique ($
array)
|
Eliminate
duplicate elements in the array and returns a new array
|
17
|
implode ($
str, $ array)
|
Transfer
the values of the array $ array into a string consists of elements
separated by the character $ str
|
18
|
explode ($
delimiter, $ str)
|
Move
a string into an array. Split the string based on $ delimiter, each team
will split into a new element is
|
19
|
serialize ($
value)
|
Move
string / array / object $ value to a string to save into a special database
|
20
|
unserialize ($
value)
|
Transfer
special string is generated from serialize ($ value) on
initial state
|
21
|
array_key_exists
($
Key, $ array)
|
Check
the key $ key exists in the array $ array or not? If
the return value is true.
|
22
|
in_array ($
value, $ array)
|
$
Value Test value exists in
the array $ array or not? If the return value is true.
|
23
|
array_diff
($
Array1, $ array2)
|
Returns
an array consists of elements of value exist in the array $
array1 but does not exist in the array $ array2
|
24
|
array_diff_assoc
($
Array1, $ array2)
|
Returns
an array includes the key elements exist in the array $
array1 but does not exist in the array $ array2
|
25
|
array_intersect
($
Array1, $ array2)
|
Returns
an array includes the same elements of value between the two
array $ array1 and $ array2
|
26
|
array_intersect_assoc
($
Array1, $ array2)
|
Returns
an array includes the same elements of keys and values between
two array $ array1 and $ array2
|
27
|
array_combine
($
Keys, $ values)
|
Create
a new array with keys taken from the array $ keys and values are taken from
the array $ values sequentially (required number of elements in two arrays
must be equal)
|
Configs project ZendFramework
1.Create the tree directory looks like the following:
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| |-- .htaccess
| `-- index.php
`-- tests
|-- application
| `-- bootstrap.php
|-- library
| `-- bootstrap.php
`-- phpunit.xml
2.The Bootstrap
Your Bootstrap class defines what resources and components to initialize with file \application\Bootstrap.php.
3.Configuration
The default configuration is placed in application/configs/application.ini, and contains some basic directives for setting your PHP environment, indicating the path to your bootstrap class, and the path to your action controllers.
4.Index.php
File start project in \public\index.php.
5.Action Controllers
Your application's action controllers contain your application workflow, and do the work of mapping your requests to the appropriate models and views.
The default IndexController is as follows:
6.Views
View scripts are placed in application/views/scripts/, where they are further categorized using the controller names. In the default case, we thus have the view scripts index/index.phtml
The following is what we install by default for the index/index.phtml view script:
7.Output
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| |-- .htaccess
| `-- index.php
`-- tests
|-- application
| `-- bootstrap.php
|-- library
| `-- bootstrap.php
`-- phpunit.xml
2.The Bootstrap
Your Bootstrap class defines what resources and components to initialize with file \application\Bootstrap.php.
3.Configuration
The default configuration is placed in application/configs/application.ini, and contains some basic directives for setting your PHP environment, indicating the path to your bootstrap class, and the path to your action controllers.
4.Index.php
File start project in \public\index.php.
5.Action Controllers
Your application's action controllers contain your application workflow, and do the work of mapping your requests to the appropriate models and views.
The default IndexController is as follows:
6.Views
View scripts are placed in application/views/scripts/, where they are further categorized using the controller names. In the default case, we thus have the view scripts index/index.phtml
The following is what we install by default for the index/index.phtml view script:
7.Output
Zend_Controller
Zend_Controller is the heart of Zend Framework's MVC system. MVC stands for » Model-View-Controller and is a design pattern targeted at separating application logic from display logic.Zend_Controller_Front implements a » Front Controller pattern, in which all requests are intercepted by the front controller and dispatched to individual Action Controllers based on the URLrequested.
Create the Filesystem Layout
application/
controllers/
IndexController.php
models/
views/
scripts/
index/
index.phtml
helpers/
filters/
html/
.htaccess
index.php
config/
config.ini
*application: will the programming code of the application
- Controllers: source file contains the application processing
- Models: the files related to database handling
- View / scripts /: contains the directory. name of this folder will correspond to the Controller in the directory controllers. In each folder containing the. Phtml. Pages. Phtml is responsible for data output to the external interface
- Helpers: contains the file. Php. These files are simply expanding handler of the application, for example: handler involved that day in May in the library without ZF
- Filters: contains the file. Php. These files can also act as helpers in the directory file. But I often used to store the file has the function check condition of entry form.
*Html file containing the ZF startup (bootstrap), plus it can be a container imges, css, js ...
*Config file containing the application's configuration file
Create the Filesystem Layout
application/
controllers/
IndexController.php
models/
views/
scripts/
index/
index.phtml
helpers/
filters/
html/
.htaccess
index.php
config/
config.ini
*application: will the programming code of the application
- Controllers: source file contains the application processing
- Models: the files related to database handling
- View / scripts /: contains the directory. name of this folder will correspond to the Controller in the directory controllers. In each folder containing the. Phtml. Pages. Phtml is responsible for data output to the external interface
- Helpers: contains the file. Php. These files are simply expanding handler of the application, for example: handler involved that day in May in the library without ZF
- Filters: contains the file. Php. These files can also act as helpers in the directory file. But I often used to store the file has the function check condition of entry form.
*Html file containing the ZF startup (bootstrap), plus it can be a container imges, css, js ...
*Config file containing the application's configuration file
Multi layouts for Zend Framework
1. Create a directory \ templates as shown below:
2. Create index.phtml file in the folder \application\templates\admin with the following contents:3. Create index.phtml file in the folder \application\templates\default
with the following contents:
4. Load layout in Admin modules: - Create function init () in
\application\modules\admin\controllers\IndexController.php
with the following contents:
5. Load layout in Default modules. - Create function init () in
application\modules\default\controllers\IndexController.php
with the following contents:
19 steps to setting and configure the Zend Framework.
- Step 1: Build system directories and files for the application
- Step 2: Declare the physical path to the application
- Step 3: Declare the application configuration in the configuration file
- Step 4: Declare the path to the folder containing the Zend Framework library
- Step 5: Go into the application layer Zend_Application
- Step 6: Create the class Bootstrap
- Step 7: Set the system error to the application
- Step 8: Declare path of initialization file (Bootstap.php)
- Step 9: Declare class Bootstrap
- Step 10: Declare the folder containing the application's Controller (appliction.ini)
- Step 11: Declare interface file name (layout.phtml)
- Step 12: Declare the path to the directory containing the main (layout)
- Step 13: Creating Zend_Application object and read the configuration file
- Step 14: Start the application
- Step 15: Create the file layout
- Step 16: Create IndexController
- Step 17: Create files for IndexController View
- Step 18: Build files. Htaccess
- Step 19: Run the application
Subscribe to:
Posts (Atom)