1
0
mirror of synced 2025-01-18 06:21:40 +03:00

Fixed the Starting new Project page. Added a list of clients. Wrote a very

simple introduction to Import. Fixed some formating in Making the first import
This commit is contained in:
meus 2007-03-28 21:21:03 +00:00
parent 50defa4fbf
commit 851e09f471
5 changed files with 41 additions and 26 deletions

View File

@ -1,13 +0,0 @@
<?php
class User extends Doctrine_Record {
public function setTableDefinition() {
// set 'user' table columns, note that
// id column is always auto-created
$this->hasColumn("name","string",30);
$this->hasColumn("username","string",20);
$this->hasColumn("password","string",16);
$this->hasColumn("created","integer",11);
}
}
?>

View File

@ -2,9 +2,14 @@ The installation of doctrine is very easy. Just get the latest revision of Doctr
You need a SVN(Subversion) client for downloading Doctrine. You need a SVN(Subversion) client for downloading Doctrine.
To check out Doctrine using the **svn** command line tool in the current directory use: In order to check out Doctrine in the current directory using the **svn** command line tool use the following code:
<code type="bash"> <code type="bash">
svn co http://doctrine.pengus.net/svn/trunk . svn co http://doctrine.pengus.net/svn/trunk .
</code> </code>
Do check out using a GUI based tool like [http://tortoisesvn.tigris.org/ TortoiseSVN] simply use the http://doctrine.pengus.net/svn/trunk in the the path field. No username or password is neccesary.
If you do not have a SVN client, chose one from the list below. Find the **Checkout** option and enter http://doctrine.pengus.net/svn/trunk in the **path** or **repository url** parameter. There is no need for a username or password to check out Doctrine.
* [http://tortoisesvn.tigris.org/ TortoiseSVN] a Windows application that integrates into Windows Explorer
* [http://www.apple.com/downloads/macosx/development_tools/svnx.html svnx] a Mac OS X GUI svn application
* Eclipse has SVN integration through the [http://subclipse.tigris.org/ subeclipse] plugin

View File

@ -1,10 +1,29 @@
Doctrine_Record is the basic component of every doctrine-based project. Doctrine_Record is the basic component of every doctrine-based project.
There should be atleast one Doctrine_Record for each of your database tables. There should be atleast one Doctrine_Record for each of your database tables.
Doctrine_Record follows <a href="http://www.martinfowler.com/eaaCatalog/activeRecord.html">Active Record pattern</a>. Doctrine_Record follows the [http://www.martinfowler.com/eaaCatalog/activeRecord.html Active Record pattern]
<br \><br \>
Doctrine auto-creates database tables and always adds a primary key column named 'id' to tables that doesn't have any primary keys specified. Only thing you need to for creating database tables
is defining a class which extends Doctrine_Record and setting a setTableDefinition method with hasColumn() method calls.
<br \><br \>
Consider we want to create a database table called 'user' with columns id(primary key), name, username, password and created. You only need couple of lines of code
to create a simple up-and-running model.
Doctrine auto-creates database tables and always adds a primary key column named 'id' to tables that doesn't have any primary keys specified. Only thing you need to for creating database tables is defining a class which extends Doctrine_Record and setting a setTableDefinition method with hasColumn() method calls.
An short example:
We want to create a database table called 'user' with columns id(primary key), name, username, password and created. Provided that you have already installed Doctrine these few lines of code are all you need:
<code type="php">
require_once('lib/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
class User extends Doctrine_Record {
public function setTableDefinition() {
// set 'user' table columns, note that
// id column is always auto-created
$this->hasColumn("name","string",30);
$this->hasColumn("username","string",20);
$this->hasColumn("password","string",16);
$this->hasColumn("created","integer",11);
}
}
</code>
We now have a user model that supports basic CRUD opperations!

View File

@ -0,0 +1,3 @@
A common case when looking for ORM tools like Doctrine is that the database and the code that access it is growing large/complex. A more substantial tool is needed then manual SQL code.
Doctrine has support for generating Doctrine_Record classes from your existing database. There is no need for you to manually write all the Doctrine_Record classes for your domain model.

View File

@ -2,16 +2,16 @@ Let's consider we have a mysql database called test with a single table called '
The file table has been created with the following sql statement: The file table has been created with the following sql statement:
CREATE TABLE file ( {{CREATE TABLE file (
id INT AUTO_INCREMENT NOT NULL, id INT UNSIGNED AUTO_INCREMENT NOT NULL,
name VARCHAR(150), name VARCHAR(150),
size BIGINT, size BIGINT,
modified BIGINT, modified BIGINT,
type VARCHAR(10), type VARCHAR(10),
content TEXT, content TEXT,
path TEXT, path TEXT,
PRIMARY KEY(id)) PRIMARY KEY(id))}}
Now we would like to convert it into Doctrine record class. It can be achieved easily with the following code snippet: Now we would like to convert it into Doctrine record class. It can be achieved easily with the following code snippet:
<code type='php'> <code type='php'>
@ -39,6 +39,7 @@ class File extends Doctrine_Record
{ {
$this->hasColumn('id', 'integer', 4, array('notnull' => true, $this->hasColumn('id', 'integer', 4, array('notnull' => true,
'primary' => true, 'primary' => true,
'unsigned' > true,
'autoincrement' => true)); 'autoincrement' => true));
$this->hasColumn('name', 'string', 150); $this->hasColumn('name', 'string', 150);
$this->hasColumn('size', 'integer', 8); $this->hasColumn('size', 'integer', 8);