On this page:
- Extension ID
- What's new?
- Description
- In what situation should you install this extension?
- Supported Versions of PHP
- Function Point, Quality and Sizing support
- CAST AIP compatibility
- Supported DBMS servers
- Prerequisites
- Download and installation instructions
- Prepare and deliver the source code
- Analysis configuration and execution
- What results can you expect?
- Limitations
- LISA path length limited to 256 characters
- Name matching links - Universal Analyzer limitation
- Analysis of XML and XSL files contained in the PHP application
- Analysis of very big PHP applications
- Support of JavaScript source code
- Support of PHTML files
- Support of UNICODE
- Links between PHP and database objects
- Missing Links
- Limitations specific to rules
- License agreements
- Extension ID
- What's new?
- Description
- In what situation should you install this extension?
- Supported Versions of PHP
- Function Point, Quality and Sizing support
- CAST AIP compatibility
- Supported DBMS servers
- Prerequisites
- Download and installation instructions
- Prepare and deliver the source code
- Analysis configuration and execution
- What results can you expect?
- Limitations
- LISA path length limited to 256 characters
- Name matching links - Universal Analyzer limitation
- Analysis of XML and XSL files contained in the PHP application
- Analysis of very big PHP applications
- Support of JavaScript source code
- Support of PHTML files
- Support of UNICODE
- Links between PHP and database objects
- Missing Links
- Limitations specific to rules
- License agreements
Target audience:
Users of the extension providing PHP support.
Summary: This document provides information about the extension providing PHP support.
Extension ID
com.castsoftware.php
What's new?
Please see PHP 3.0 - Release Notes for more information.
Description
This extension provides support for applications written using the PHP language.
In what situation should you install this extension?
If your application contains source code written using PHP and you want to view these object types and their links with other objects, then you should install this extension.
Supported Versions of PHP
This version of the extension provides support for:
PHP version | Supported |
---|---|
5.x |
Function Point, Quality and Sizing support
- Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
- Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions) | |
---|---|
Quality and Sizing |
CAST AIP compatibility
CAST AIP release | Supported |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
≥ 7.3.4 |
Supported DBMS servers
DBMS | Supported? |
---|---|
CSS | |
Oracle | |
Microsoft SQL Server |
Prerequisites
CAST AIP | An installation of any compatible release of CAST AIP (see table above). | - | |
---|---|---|---|
PHP / PHP Code Sniffer / PHPMD | The extension requires the installation of three third party items:
These items are provided with the extension, however, they must be installed manually as described below. | - | |
Java JRE | Note that these prerequisites are only applicable in the following circumstances:
Therefore, if you are using CAST AIP ≥ 8.2.1 and PHP 3.0, you don't need to set a JAVA_HOME and you do not need to install a JRE. The extension will automatically use the JRE provided with CAST AIP. | ||
JAVA_HOME environment variable |
Download and installation instructions
Extension
Please see:
- Install an extension states that it is not necessary to perform Step 3 (Import the Assessment Model) when using the extension with CAST AIP ≥ 8.3.x, however, due to a bug in CAST AIP and the changes that have been introduced in PHP 2.0.x, you must perform this Step 3 when using the extension with CAST AIP 8.3.0 - 8.3.2.
- This extension contains a File discoverer and you should take note of the specific instructions in the installation guide that explains how to package your source code with the CAST Delivery Manager Tool when you have an existing Version.
- The latest release status of this extension can be seen when downloading it from the CAST Extend server.
PHP installation
The PHP extension requires that PHP (which includes all third-party items such as Code Sniffer) is installed on the analysis machine before an analysis is run: PHP is bundled with the PHP extension (third party PHP installations are not compatible with the PHP extension and must be removed and replaced with PHP bundled with the PHP extension).
- If you have already installed a previous version of the PHP extension (for example PHP 1.0.x and legacy releases prior to PHP 1.0) on your analysis machine and already have a functioning PHP install from that extension, please ensure that you uninstall PHP before proceeding with the instructions below. To remove the PHP installation provided with the PHP extension, you simply need to delete the folder into which it was installed (by default this is usually set to C:\php).
- Please check that you do not have an existing third party (i.e. not provided by CAST) installation of PHP on this machine (particularly if you have never installed any version of the PHP extension on your analysis machine). If a third party version already exists, please follow the PHP uninstall procedure for the install method that was used, before proceeding with the instructions below. Third party PHP installations are not compatible with the PHP extension.
The following steps describe how to install PHP to the analysis machine:
- Go to the "TOOLS" folder - this folder is created after unpacking the extension archive file.
Inside the "php_sniffer_install" folder, open the file "PHPINSTALL.bat" in edit mode.
- PHP must be installed to a folder name that does not contain white space therefore CAST highly recommends that you leave the settings as they are in PHPINSTALL.bat which will install PHP to C:\php. If necessary you can change this by updating the PHPINSTL_DRIVE variable:
REM ***************************************************** REM Specify the Directory where PHP would be installed ** REM Specify the directory where PHP would be installed ** REM A directory PHP would be created inside it. ** REM ***************************************************** set batch_path=%~dp0 set batch_drive=%batch_path:~0,2% SET PHPINSTL_DRIVE=C: SET PHPINSTL_DIR=%PHPINSTL_DRIVE%\php
Save and close the batch file "PHPINSTALL.bat"
- Run the batch file "PHPINSTALL.bat" - this will start the installation process. Please follow below the installation process steps:
When prompted: "Are your installations a system wide PEAR or a local copy ?", two choices are available: system or local. Both installation types are OK for the PHP extension, but CAST recommends the system wide installation.
When prompted: "Below is a suggested file layout for your new PEAR installation. To change individual locations, type the number in front of the directory. Type 'all' to change all of them or simply press Enter to accept these locations." The recommendation for this step is to type ENTER and therefore accept the default configuration.
Go to the "C:\Windows" folder and check if the "php.ini" file exists. If it does exist, add the following lines anywhere in the file. If the file does not exist, create it and then add the following lines:
;Increase of the memory of the Code Sniffer memory_limit = 3072M
- Create a System Environment Variable called"PHP_HOME" with the value of the physical folder where PHP has been installed - for example "C:\php"
The installation is now complete.
- The PHP installation needs to be completed once on each machine that will be used to analyze PHP.
- If the installation is unsuccessful, the following will be displayed in the batch window:
"Installation unsuccessful. Few QRs will not work. Please contact CAST Support."
CAST Transaction Configuration Center (TCC) configuration
A set of PHP Entry Points for use in the CAST Transaction Configuration Center is delivered in the extension via a .TCCSetup file.
- with CAST AIP ≥ 8.3.x, there is nothing for you to do: these entry points will be automatically imported during the extension installation and will be available in the CAST Transaction Configuration Center.
- with CAST AIP ≤ 8.2.x, you can manually import the file %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.php.<version>\Configuration\TCC\Base_PHP.TCCSetup to obtain your configuration (see instructions below).
Manual import action for CAST AIP ≤ 8.2.x
Configure rules for third-party tool analysis results
This section is deprecated and is no longer available for use.
PHP ≥ 3.0.0 is shipped with a specific set of rules that can be configured to be triggered during an analysis if a set of analysis results originating from third-party tools is available. The configuration process is as follows:
Prepare and deliver the source code
Once the extension is downloaded and installed, you can now package your source code and run an analysis. The process of preparing and delivering your source code is described below:
Source code preparation
- Only files with following extensions will be analyzed *.php; *.php4; *.php5; *.php6; *.inc; *.phtml. The *.yml and *.yaml extensions are also supported for Symfony framework.
- The analysis of XML and XSL files contained in the PHP application is not supported.
- The analysis of HTML and JavaScript source code is managed by the HTML and JavaScript extension / .NET analyzer, to be configured in addition to the PHP analysis.
Source code preprocessing
PHP source code needs to be preprocessed so that CAST can understand it and analyze it correctly. In previous releases of the PHP extension, this preprocessing was a manual action that needed to be completed before the code was analyzed. However, in this release and all future releases, the code preprocessing is actioned automatically when an analysis is launched or a snapshot is generated (the code is preprocessed before the analysis starts). In other words you only need to package, deliver and launch an analysis/generate a snapshot for the preprocessing to be completed.
Short tags
PHP short tags <? and <?= in the delivered source code cannot be handled as is, therefor the analyzer will automatically convert them to <?php tags with an added comment, for example: <?=$string?> will be transformed into <?php /*php short tag*/echo $string>.
Deliver the source code
Using the CAST Delivery Manager Tool:
- create a new Version
- create a new Package for your source code using the Files on your file system option and choose the location of your source code:
Click to enlarge
- Run the Package action.
- Before delivering the source code, check the packaging results.
Analysis configuration and execution
Refer to Analysis Configuration and Execution for more information.
Logging mechanism
Analysis log files
Analysis logs are stored in the default locations used by the CAST Management Studio.
PHP Preprocessor
PHP Preprocessor log files (the preprocessor is launched automatically during an analysis) are stored in the following locations:
CAST AIP release | Location | Log file name |
---|---|---|
≤ 8.2.x | %PROGRAMDATA%\CAST\CAST\Extensions\<extension_name>\Configuration\Languages\PHP\prepro Note that the above location is the default, however, if you have modified the CAST_PLUGINS_ROOT_PATH variable in the CastGlobalSettings.ini file, this location may be different. | com.castsoftware.php.prepro_<ExtensionVersion>_<YYYYMMDDHHMMSS>.log |
≥ 8.3.x | Default location is set to %PROGRAMDATA%\CAST\CAST\Logs\<unique_application_id>\, but this location can be configured at will in the CAST Management Studio Preferences. |
PHP CodeSniffer
PHP CodeSniffer log files (the CodeSniffer is launched automatically during an analysis) are stored in the following locations:
CAST AIP release | Location | Log file name |
---|---|---|
≤ 8.2.x | %PROGRAMDATA%\CAST\CAST\Extensions\<extension_name>\Configuration\Languages\PHP\plugin Note that the above location is the default, however, if you have modified the CAST_PLUGINS_ROOT_PATH variable in the CastGlobalSettings.ini file, this location may be different. | com.castsoftware.php.plugin_<ExtensionVersion>_<YYYYMMDDHHMMSS>.log |
≥ 8.3.x | Default location is set to %PROGRAMDATA%\CAST\CAST\Logs\<unique_application_id>\, but this location can be configured at will in the CAST Management Studio Preferences. |
Errors and Warnings
The PHP configuration included in the extension uses external plugins. During the analysis, the Universal Analyzer or the plugin can throw errors or warnings. The table below list the most significant errors/warnings and lists a suggested remediation action:
Tool | Error or Warning | Action |
---|---|---|
Analyzer & Code Sniffer | UA Plugin : No property (......) found in meta model for php... | No action required. The analyzer is telling you that not all the properties are considered to be injected into the Analysis Service. |
What results can you expect?
Objects
PHP Objects
Icon | Metamodel Name |
---|---|
PHP Array | |
PHP Class | |
PHP Class Constant | |
PHP Constructor | |
PHP Define | |
PHP Function | |
PHP Interface | |
PHP Member | |
PHP Method | |
PHP Section | |
Script Function | |
Script Section |
Symfony Framework objects
Icon | Metamodel Name |
---|---|
PHP Symfony Controller | |
PHP Symfony Controller Class | |
PHP Symfony Route | |
PHP Symfony Service |
In CAST Enlighten, all Symfony objects will appear under their respective folders as shown below :
PHP Symfony Controller Class
- Supported scenario: If the Class name ends with Controller, we will create PHP Symfony Controller Class objects
- Links:
- PHP Symfony Controller Class --- Refer Link ---> PHP Class
- Limitations: Alternate syntax where you can give the class name that does not have suffix "Controller" is not supported
PHP Symfony Controller
- Supported scenario: If the method or function ends with suffix "Action", then PHP Symfony Controller Object will be created
- Links:
- PHP Symfony Controller --- Refer Link ---> PHP Symfony Route
- PHP Symfony Controller --- Refer Link ---> PHP Method\Function
PHP Symfony Route
- Supported scenario:
- If a route has been declared in the yml file, a route object will be created
- If a route has been declared in PHP file an annotation route object will be created as follows:
- Default naming convention for route annotation when declared without name above class "<classname>_Class_Annotation_<number>"
- Default naming convention for route annotation when declared without name above method "<methodname>_Method_Annotation_<number>"
- Links:
- PHP Symfony Route --- Call Link ---> PHP Symfony Controller
PHP Symfony Service
- Supported scenario: If a service has been declared in the yml configuration files, PHP Symfony Service Object will be created
- Links:
- PHP Symfony Service --- Call Link ---> PHP Method
- PHP Symfony Service --- Call Link ---> PHP Property
- PHP Symfony Service --- Call Link ---> PHP Class constructor
- Limitation: Inheritance is not supported while determining property setter or constructor injection - they need to be defined in the same class which is being referred to in the service
Structural Rules
The following structural rules are provided:
You can also find a global list here:
https://technologies.castsoftware.com/rules?sec=t_1017000&ref=||
Limitations
License agreements
The PHP extension uses several third-party tools. The Licence Agreements for these tools are listed below:
On this page:
- Extension ID
- What's new?
- Description
- In what situation should you install this extension?
- Supported Versions of PHP
- Function Point, Quality and Sizing support
- CAST AIP compatibility
- Supported DBMS servers
- Prerequisites
- Download and installation instructions
- Prepare and deliver the source code
- Analysis configuration and execution
- What results can you expect?
- Limitations
- LISA path length limited to 256 characters
- Name matching links - Universal Analyzer limitation
- Analysis of XML and XSL files contained in the PHP application
- Analysis of very big PHP applications
- Support of JavaScript source code
- Support of PHTML files
- Support of UNICODE
- Links between PHP and database objects
- Missing Links
- Limitations specific to rules
- License agreements
- Extension ID
- What's new?
- Description
- In what situation should you install this extension?
- Supported Versions of PHP
- Function Point, Quality and Sizing support
- CAST AIP compatibility
- Supported DBMS servers
- Prerequisites
- Download and installation instructions
- Prepare and deliver the source code
- Analysis configuration and execution
- What results can you expect?
- Limitations
- LISA path length limited to 256 characters
- Name matching links - Universal Analyzer limitation
- Analysis of XML and XSL files contained in the PHP application
- Analysis of very big PHP applications
- Support of JavaScript source code
- Support of PHTML files
- Support of UNICODE
- Links between PHP and database objects
- Missing Links
- Limitations specific to rules
- License agreements
Target audience:
Users of the extension providing PHP support.
Summary: This document provides information about the extension providing PHP support.
Extension ID
com.castsoftware.php
What's new?
Please see PHP 3.0 - Release Notes for more information.
Description
This extension provides support for applications written using the PHP language.
In what situation should you install this extension?
If your application contains source code written using PHP and you want to view these object types and their links with other objects, then you should install this extension.
Supported Versions of PHP
This version of the extension provides support for:
PHP version | Supported |
---|---|
5.x |
Function Point, Quality and Sizing support
- Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
- Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions) | |
---|---|
Quality and Sizing |
CAST AIP compatibility
CAST AIP release | Supported |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
≥ 7.3.4 |
Supported DBMS servers
DBMS | Supported? |
---|---|
CSS | |
Oracle | |
Microsoft SQL Server |
Prerequisites
CAST AIP | An installation of any compatible release of CAST AIP (see table above). | - | |
---|---|---|---|
PHP / PHP Code Sniffer / PHPMD | The extension requires the installation of three third party items:
These items are provided with the extension, however, they must be installed manually as described below. | - | |
Java JRE | Note that these prerequisites are only applicable in the following circumstances:
Therefore, if you are using CAST AIP ≥ 8.2.1 and PHP 3.0, you don't need to set a JAVA_HOME and you do not need to install a JRE. The extension will automatically use the JRE provided with CAST AIP. | ||
JAVA_HOME environment variable |
Download and installation instructions
Extension
Please see:
- Install an extension states that it is not necessary to perform Step 3 (Import the Assessment Model) when using the extension with CAST AIP ≥ 8.3.x, however, due to a bug in CAST AIP and the changes that have been introduced in PHP 2.0.x, you must perform this Step 3 when using the extension with CAST AIP 8.3.0 - 8.3.2.
- This extension contains a File discoverer and you should take note of the specific instructions in the installation guide that explains how to package your source code with the CAST Delivery Manager Tool when you have an existing Version.
- The latest release status of this extension can be seen when downloading it from the CAST Extend server.
PHP installation
The PHP extension requires that PHP (which includes all third-party items such as Code Sniffer) is installed on the analysis machine before an analysis is run: PHP is bundled with the PHP extension (third party PHP installations are not compatible with the PHP extension and must be removed and replaced with PHP bundled with the PHP extension).
- If you have already installed a previous version of the PHP extension (for example PHP 1.0.x and legacy releases prior to PHP 1.0) on your analysis machine and already have a functioning PHP install from that extension, please ensure that you uninstall PHP before proceeding with the instructions below. To remove the PHP installation provided with the PHP extension, you simply need to delete the folder into which it was installed (by default this is usually set to C:\php).
- Please check that you do not have an existing third party (i.e. not provided by CAST) installation of PHP on this machine (particularly if you have never installed any version of the PHP extension on your analysis machine). If a third party version already exists, please follow the PHP uninstall procedure for the install method that was used, before proceeding with the instructions below. Third party PHP installations are not compatible with the PHP extension.
The following steps describe how to install PHP to the analysis machine:
- Go to the "TOOLS" folder - this folder is created after unpacking the extension archive file.
Inside the "php_sniffer_install" folder, open the file "PHPINSTALL.bat" in edit mode.
- PHP must be installed to a folder name that does not contain white space therefore CAST highly recommends that you leave the settings as they are in PHPINSTALL.bat which will install PHP to C:\php. If necessary you can change this by updating the PHPINSTL_DRIVE variable:
REM ***************************************************** REM Specify the Directory where PHP would be installed ** REM Specify the directory where PHP would be installed ** REM A directory PHP would be created inside it. ** REM ***************************************************** set batch_path=%~dp0 set batch_drive=%batch_path:~0,2% SET PHPINSTL_DRIVE=C: SET PHPINSTL_DIR=%PHPINSTL_DRIVE%\php
Save and close the batch file "PHPINSTALL.bat"
- Run the batch file "PHPINSTALL.bat" - this will start the installation process. Please follow below the installation process steps:
When prompted: "Are your installations a system wide PEAR or a local copy ?", two choices are available: system or local. Both installation types are OK for the PHP extension, but CAST recommends the system wide installation.
When prompted: "Below is a suggested file layout for your new PEAR installation. To change individual locations, type the number in front of the directory. Type 'all' to change all of them or simply press Enter to accept these locations." The recommendation for this step is to type ENTER and therefore accept the default configuration.
Go to the "C:\Windows" folder and check if the "php.ini" file exists. If it does exist, add the following lines anywhere in the file. If the file does not exist, create it and then add the following lines:
;Increase of the memory of the Code Sniffer memory_limit = 3072M
- Create a System Environment Variable called"PHP_HOME" with the value of the physical folder where PHP has been installed - for example "C:\php"
The installation is now complete.
- The PHP installation needs to be completed once on each machine that will be used to analyze PHP.
- If the installation is unsuccessful, the following will be displayed in the batch window:
"Installation unsuccessful. Few QRs will not work. Please contact CAST Support."
CAST Transaction Configuration Center (TCC) configuration
A set of PHP Entry Points for use in the CAST Transaction Configuration Center is delivered in the extension via a .TCCSetup file.
- with CAST AIP ≥ 8.3.x, there is nothing for you to do: these entry points will be automatically imported during the extension installation and will be available in the CAST Transaction Configuration Center.
- with CAST AIP ≤ 8.2.x, you can manually import the file %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.php.<version>\Configuration\TCC\Base_PHP.TCCSetup to obtain your configuration (see instructions below).
Manual import action for CAST AIP ≤ 8.2.x
Configure rules for third-party tool analysis results
This section is deprecated and is no longer available for use.
PHP ≥ 3.0.0 is shipped with a specific set of rules that can be configured to be triggered during an analysis if a set of analysis results originating from third-party tools is available. The configuration process is as follows:
Prepare and deliver the source code
Once the extension is downloaded and installed, you can now package your source code and run an analysis. The process of preparing and delivering your source code is described below:
Source code preparation
- Only files with following extensions will be analyzed *.php; *.php4; *.php5; *.php6; *.inc; *.phtml. The *.yml and *.yaml extensions are also supported for Symfony framework.
- The analysis of XML and XSL files contained in the PHP application is not supported.
- The analysis of HTML and JavaScript source code is managed by the HTML and JavaScript extension / .NET analyzer, to be configured in addition to the PHP analysis.
Source code preprocessing
PHP source code needs to be preprocessed so that CAST can understand it and analyze it correctly. In previous releases of the PHP extension, this preprocessing was a manual action that needed to be completed before the code was analyzed. However, in this release and all future releases, the code preprocessing is actioned automatically when an analysis is launched or a snapshot is generated (the code is preprocessed before the analysis starts). In other words you only need to package, deliver and launch an analysis/generate a snapshot for the preprocessing to be completed.
Deliver the source code
Using the CAST Delivery Manager Tool:
- create a new Version
- create a new Package for your source code using the Files on your file system option and choose the location of your source code:
Click to enlarge
- Run the Package action.
- Before delivering the source code, check the packaging results.
Analysis configuration and execution
Refer to Analysis Configuration and Execution for more information.
Logging mechanism
Analysis log files
Analysis logs are stored in the default locations used by the CAST Management Studio.
PHP Preprocessor
PHP Preprocessor log files (the preprocessor is launched automatically during an analysis) are stored in the following locations:
CAST AIP release | Location | Log file name |
---|---|---|
≤ 8.2.x | %PROGRAMDATA%\CAST\CAST\Extensions\<extension_name>\Configuration\Languages\PHP\prepro Note that the above location is the default, however, if you have modified the CAST_PLUGINS_ROOT_PATH variable in the CastGlobalSettings.ini file, this location may be different. | com.castsoftware.php.prepro_<ExtensionVersion>_<YYYYMMDDHHMMSS>.log |
≥ 8.3.x | Default location is set to %PROGRAMDATA%\CAST\CAST\Logs\<unique_application_id>\, but this location can be configured at will in the CAST Management Studio Preferences. |
PHP CodeSniffer
PHP CodeSniffer log files (the CodeSniffer is launched automatically during an analysis) are stored in the following locations:
CAST AIP release | Location | Log file name |
---|---|---|
≤ 8.2.x | %PROGRAMDATA%\CAST\CAST\Extensions\<extension_name>\Configuration\Languages\PHP\plugin Note that the above location is the default, however, if you have modified the CAST_PLUGINS_ROOT_PATH variable in the CastGlobalSettings.ini file, this location may be different. | com.castsoftware.php.plugin_<ExtensionVersion>_<YYYYMMDDHHMMSS>.log |
≥ 8.3.x | Default location is set to %PROGRAMDATA%\CAST\CAST\Logs\<unique_application_id>\, but this location can be configured at will in the CAST Management Studio Preferences. |
Errors and Warnings
The PHP configuration included in the extension uses external plugins. During the analysis, the Universal Analyzer or the plugin can throw errors or warnings. The table below list the most significant errors/warnings and lists a suggested remediation action:
Tool | Error or Warning | Action |
---|---|---|
Analyzer & Code Sniffer | UA Plugin : No property (......) found in meta model for php... | No action required. The analyzer is telling you that not all the properties are considered to be injected into the Analysis Service. |
What results can you expect?
Objects
PHP Objects
Icon | Metamodel Name |
---|---|
PHP Array | |
PHP Class | |
PHP Class Constant | |
PHP Constructor | |
PHP Define | |
PHP Function | |
PHP Interface | |
PHP Member | |
PHP Method | |
PHP Section | |
Script Function | |
Script Section |
Symfony Framework objects
Icon | Metamodel Name |
---|---|
PHP Symfony Controller | |
PHP Symfony Controller Class | |
PHP Symfony Route | |
PHP Symfony Service |
In CAST Enlighten, all Symfony objects will appear under their respective folders as shown below :
PHP Symfony Controller Class
- Supported scenario: If the Class name ends with Controller, we will create PHP Symfony Controller Class objects
- Links:
- PHP Symfony Controller Class --- Refer Link ---> PHP Class
- Limitations: Alternate syntax where you can give the class name that does not have suffix "Controller" is not supported
PHP Symfony Controller
- Supported scenario: If the method or function ends with suffix "Action", then PHP Symfony Controller Object will be created
- Links:
- PHP Symfony Controller --- Refer Link ---> PHP Symfony Route
- PHP Symfony Controller --- Refer Link ---> PHP Method\Function
PHP Symfony Route
- Supported scenario:
- If a route has been declared in the yml file, a route object will be created
- If a route has been declared in PHP file an annotation route object will be created as follows:
- Default naming convention for route annotation when declared without name above class "<classname>_Class_Annotation_<number>"
- Default naming convention for route annotation when declared without name above method "<methodname>_Method_Annotation_<number>"
- Links:
- PHP Symfony Route --- Call Link ---> PHP Symfony Controller
PHP Symfony Service
- Supported scenario: If a service has been declared in the yml configuration files, PHP Symfony Service Object will be created
- Links:
- PHP Symfony Service --- Call Link ---> PHP Method
- PHP Symfony Service --- Call Link ---> PHP Property
- PHP Symfony Service --- Call Link ---> PHP Class constructor
- Limitation: Inheritance is not supported while determining property setter or constructor injection - they need to be defined in the same class which is being referred to in the service
Structural Rules
The following structural rules are provided:
You can also find a global list here:
https://technologies.castsoftware.com/rules?sec=t_1017000&ref=||
Limitations
License agreements
The PHP extension uses several third-party tools. The Licence Agreements for these tools are listed below: