Project File

A project file is an XML file which stores all settings of a particular project. You should save a project file for each site you generate and back it up. You will NOT be able to create a project file backwardly from the generated scripts later. Like other XML document, project file is human-legible. You should be able to open a project file in any text editor and view the content. Each object (e.g. database, table, field, etc) is represented by an XML node in the project file. The object properties are saved as attributes of the node.

A project file is in utf-8 encoding, your text editor needs to support utf-8. Most text editors support utf-8 nowadays. You can simply use Notepad if you do not have other text editors. With basic understanding of XML, you can change the settings manually. However, If you modify a project file, make sure your keep it well-formed.

Note To check if a project file is well-formed, you can change the file extension to .xml and open it with your browser. If the file can be loaded and displayed properly in the browser, it is well-formed.

 

Auto Backup

PHPMaker supports auto-backup. When you save a project or press the "Generate" button to generate scripts, the old version (physical file) will be saved to the "Backup" folder under the Documents folder (e.g. C:\Users\<user>\Documents\PHPMaker\Backup) first, you can recover older versions of your project from the backup folder in case of corrupted projects or other accidental losses. Note that by default only the latest 100 versions will be kept, older versions will be deleted.

Note
  1. The Documents folder is your personal folder where you can store your personal files, e.g. C:\Users\<user>\Documents.
  2. If you do not want to save the project every time you generate, you can turn off the [Auto save project on generate](tools.html?id=auto-save-project-on-generate) advanced settings.

 

History

In additional to auto backup, PHPMaker also keeps project history. When you save a project, an old version will be created (not physical file). You can click Project -> History to view the history of a project file. By default the latest 100 versions (if available) will be listed. You can choose any one to revert to.

Notes
  1. History starts from v2018, there is no history until you install v2018 (or newer), enable [Use project versioning](tools.html?id=use-project-versioning) (by default it is enabled) and begin saving your project.
  2. The backup data is stored in (*".git"* and *"\_xxx"* folders under the backup folder (e.g. *C:\Users\\\\Documents\PHPMaker\Backup*), do NOT delete those folders or history will be lost.
  3. If the advanced setting [Git repo URL](tools.html?id=git-repo-url) is enabled, each project uses its own Git repository under the *"Documents\PHPMaker\Repositories"* folder (e.g. *C:\Users\\\\Documents\PHPMaker\Repositories\\\_xxx*), do NOT delete those folders or history will be lost. When Git repo URL is enabled, a new history begins, but you should be able to find the old history of the old project file in the backup folder.

 

Project Name

Each project has a project name. By default the file name (without extension) of the project file is used as project name. Before you name your project file when saving it for the first time, a temporary name, Project<n>, where n is a number, is used. The project name is an important property, it is used in the generated code to identify your project.

Note It is recommended that you use only alphanumerical characters in lowercase in project name.

If you need to change the project name, you can change the [Project name](tools.html?id=project-name) advanced setting.

 

Project ID

Each project has a project ID which is a GUID (globally unique identifier). The value of a GUID is represented as a 32-character hexadecimal string, such as ``{095F6728-DF53-4763-A372-D8F2EAC959F2}``. It is used to identify the project and the scripts generated by it. Each script generated by the project has the project ID. Do not reveal the project ID to public and do not change the project ID unless absolutely necessary. If you really need to, you can change the [Project ID](tools.html?id=project-id-1) advanced setting.

If you use Dynamic User Level (see Advanced Security), the project ID is also used in the User Level Permission table as a prefix of the table name so that the table names from different projects will not clash.

 

Save As vs. Save A Copy

If you want to create a new project based on an existing project, use Save As... under the Project menu. If Save As... is used, the project name and project ID are changed in the new file. The new file is NOT the same project anymore.

If you want to create a backup copy or another version of an existing project, you should use Save a Copy... to save the file with another name. If Save a Copy... is used, the project name and project ID are NOT changed. The project file name may not be same as the old file name anymore. However, with the same project name and project ID, scripts generated from these project files will still work like they are generated from the same project file.

 

Also See

Object Properties

 

 ©2002-2025 e.World Technology Ltd. All rights reserved.