php ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°
getcwd
(PHP 4, PHP 5, PHP 7, PHP 8)
getcwd β ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π£ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ false Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ getcwd()
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 19 notes
getcwd() returns the path of the «main» script referenced in the URL.
dirname(__FILE__) will return the path of the script currently executing.
I had written a script that required several class definition scripts from the same directory. It retrieved them based on filename matches and used getcwd to figure out where they were.
Didn’t work so well when I needed to call that first script from a new file in a different directory.
I use this code to replicate the pushd and popd DOS commands in PHP:
«On some Unix variants, getcwd() will return FALSE if any one of the parent directories does not have the readable or search mode set, even if the current directory does.»
Just so you know, MacOS X is one of these variants (at least 10.4 is for me). You can make it work by applying ‘chmod a+rx’ to all folders from your site folder upwards.
PHP4 returns /tmp
PHP5 returns /
Something to be aware of.
This is a function to convert a path which looks something like this:
To a proper directory path:
//saves our current working directory to a variable
$oldcwd = getcwd ();
//changes the directory to the one to convert
//$path is the directory to convert (clean up), handed over to the //function as a string
if you link your php to /bin/linkedphp and your php is at for ex /home/actual.php
when you run linkedphp in somewhere in your filesystem,
getcwd returns /bin instead of working dir,
solution: use dirname(__FILENAME__) instead
Some server’s has security options to block the getcwd()
Take care if you use getcwd() in file that you’ll need to include (using include, require, or *_once) in a script located outside of the same directory tree.
example:
//in /var/www/main_document_root/include/MySQL.inc.php
if ( strpos ( getcwd (), ‘main_’ )> 0 ) <
//code to set up main DB connection
>
?>
//in home/cron_user/maintenance_scripts/some_maintenance_script.php
require_once ( ‘/var/www/main_document_root/include/MySQL.inc.php’ );
?>
In the above example, the database connection will not be made because the call to getcwd() returns the path relative to the calling script ( /home/cron_user/maintenance_scripts ) NOT relative to the file where the getcwd() function is called.
A very simple workaround to regain the behaviour you’re used to from your «ordinary» webpage scripting is to include something like that at the beginning of your script:
// Note: all pathes stored in subsequent Variables end up with a DIRECTORY_SEPARATOR
// how to store the working directory «from where» the script was called:
$initial_cwd = preg_replace ( ‘
// how to switch symlink-free to the folder the current file resides in:
chdir ( dirname ( realpath ( __FILE__ ) ) );
// how to get a path one folder up in any case :
$my_parent_folder = preg_replace ( ‘
Php ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°
There is no way to implement a backwards compatible __DIR__ in versions prior to 5.3.0.
A lot of notes here concern defining the __DIR__ magic constant for PHP versions not supporting the feature. Of course you can define this magic constant for PHP versions not yet having this constant, but it will defeat its purpose as soon as you are using the constant in an included file, which may be in a different directory then the file defining the __DIR__ constant. As such, the constant has lost its *magic*, and would be rather useless unless you assure yourself to have all of your includes in the same directory.
Concluding: eye catchup at gmail dot com’s note regarding whether you can or cannot define magic constants is valid, but stating that defining __DIR__ is not useless, is not!
If you’re using PHP with fpm (common in this day and age), be aware that __DIR__ and __FILE__ will return values based on the fpm root which MAY differ from its actual location on the file system.
This can cause temporary head-scratching if deploying an app where php files within the web root pull in PHP files from outside of itself (a very common case). You may be wondering why __DIR__ returns «/» when the file itself lives in /var/www/html or whathaveyou.
You might handle such a situation by having NGINX explicitly add the necessary part of the path in its fastcgi request and then you can set the root on the FPM process / server / container to be something other than the webroot (so long as no other way it could become publicly accessible).
Hope that saves someone five minutes who’s moving code to FPM that uses __DIR__.
Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ «ΠΠΎΠ»ΡΠ΅Π±Π½Π°Ρ» ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° __DIR__
3 ΠΎΡΠ²Π΅ΡΠ° 3
ΠΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄:
__FILE__ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Π΅ΡΠ½Π΅Ρ Π²Π°ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»Π° (Ρ.Π΅. basename(__FILE__) === __DIR__ )
__DIR__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
__DIR__ Π²Π΅ΡΠ½Π΅Ρ ΠΏΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ, /usr/www/site/html
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° cron ΠΈ Ρ Π²Π°Ρ ΠΏΡΡΠΈ Π±ΡΠ΄ΡΡ Π±Π΅Π· ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ DIR ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ², ΡΠΎ ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. Ρ ΠΎΡΡ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Π²ΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΠΊ.
ΠΠΎΡ ΠΎΠΆΠΈΠ΅
ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π»Π΅Π½ΡΡ
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° Π»Π΅Π½ΡΡ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΡ ΡΡΡΠ»ΠΊΡ Π² Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ RSS.
Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠ°ΠΉΡΠ° / Π»ΠΎΠ³ΠΎΡΠΈΠΏ Β© 2021 Stack Exchange Inc; ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ cc by-sa. rev 2021.9.30.40353
ΠΠ°ΠΆΠΈΠΌΠ°Ρ Β«ΠΡΠΈΠ½ΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ cookieΒ» Π²Ρ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ΡΡ, ΡΡΠΎ Stack Exchange ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ cookie Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠ΅ΠΉ ΠΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² cookie.
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ Π² PHP
Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΏΡΡΠΈ Π² PHP ΠΈ URL
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΌΠΎΡΡΠΈΠΌ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠΈΠ»ΡΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΈΠ°Π», ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ.
Π Π·Π° ΠΊΠ°Π΄ΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π½Π°Ρ ΠΌΠΈΡ: ΡΡΠΈΠ»ΠΈΡΡΡ ΠΈ Π³ΡΠΈΠΌΡΡΡ, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΈΠΈ, Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΠΏΠΎΠ»Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΡΠ°ΠΌ ΡΠΎΠΆΠ΅ Π½Π΅Ρ, Π° Π²ΡΠ΅ URL Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ PHP ΡΠ°ΠΉΠ»ΠΎΠΌ.
ΠΠΎΠ²ΠΈΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΡΠ°ΡΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Ρ URL Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ. Π‘Π΅ΠΉΡΠ°Ρ Ρ ΡΠ°Π·Π±Π΅ΡΡ ΠΏΠ°ΡΡ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ.
ΠΡΠΈΠ±ΠΊΠ° β1: ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π² URL
ΠΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠ°ΡΠ·Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ½ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² D, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ URL Π°Π΄ΡΠ΅ΡΠ°.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ (ΡΠ°Π·Π½ΠΈΡΡ ΠΎΠ±ΡΡΡΠ½Ρ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅):
ΠΡΠΈΠ±ΠΊΠ° β2: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΠΎ URL
ΠΠ½ΠΎΠ³Π΄Π° Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎ Π΅Π³ΠΎ URL:
ΠΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π΅ ΡΠ°ΠΌ ΡΠΊΡΠΈΠΏΡ, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΠ΅Π· URL Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΎΠΏΠ°ΡΠ½Π°Ρ.
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ Π² PHP
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΎΡ ΠΊΠΎΡΠ½Ρ Π΄ΠΈΡΠΊΠ° Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»Π΅ΡΠ° ΠΈΠ»ΠΈ Π±ΡΠΊΠ²Ρ Π΄ΠΈΡΠΊΠ° (Windows).
ΠΠΎΠ»ΡΡΠΈΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ __FILE__ :
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΡΠΈΠΏΡ, Π΅ΡΡΡ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° __DIR__ :
ΠΠ°ΠΊ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°ΠΉΡΠ° Π»Π΅ΠΆΠ°Ρ ΡΠ°ΠΉΠ»Ρ index.php ΠΈ config.php ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠΎΡΠΎΠΉ Π² ΠΏΠ΅ΡΠ²ΡΠΉ.
ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ config.php ΠΏΠΎ Π΅Π³ΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΌΡ ΠΏΡΡΠΈ, Π΅ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° __DIR__ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ, ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ.
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² PHP
ΠΠ°Π»Π΅Π΅ PHP ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π² index.php ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» scripts/script.php, Π° Π² ΡΡΠΎΠΌ ΡΠ°ΠΌΠΎΠΌ script.php ΡΠΆΠ΅ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΡΠΈ, ΡΠΎΠ³Π΄Π° ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ scripts ΡΠΎΠΆΠ΅.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ ΠΏΡΠΈΠ·ΡΠ²Π°Ρ ΡΠ΅Π±Ρ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ Π² PHP.
ΠΠΎΠΌΡ-ΡΠΎ ΠΈΠ· ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΠ° ΡΡΠ°Π·Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡΡ, Π½ΠΎ Ρ ΡΡΠΈΡΠ°Ρ ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ __DIR__ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ°, ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ.
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ Π² URL
ΠΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΄ΠΎΠ±Π½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ http Π½Π° https ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π±Π΅Π³Π°ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°ΠΉΡΡ ΠΈ ΠΌΠ΅Π½ΡΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠΈΡΠ½ΠΎ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ (blog.site.ru, shop.site.ru ΠΈ Ρ.Π΄.).
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² URL
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ Π² URL ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π±Π΅Π· ΡΠ»Π΅ΡΠ° Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ Π² URL Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ, ΡΠ΅ΠΌ Π² PHP. ΠΠΎ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΡΠ°Π½ΠΈΡΠ΅. Π Π²ΠΎΡ ΠΏΠ°ΡΠ° ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠΈ.
ΠΡΠΈΠ±ΠΊΠ° β1: ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ ΠΊ ΡΡΠΈΠ»ΡΠΌ, ΡΠΊΡΠΈΠΏΡΠ°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΈΠ»ΠΈ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΡΡ:
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ URL style.css ΠΈ Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΡΠΈΠ±ΠΊΠ° β2: Π Π΅ΠΊΡΡΡΠΈΡ Π² ΡΡΡΠ»ΠΊΠ°Ρ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ Π΅ΡΡΡ ΡΠΈΡΠΊ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ. ΠΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°.
Π’Π΅ΠΊΡΡΠΈΠΉ ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΎΠΊ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ «ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΡ Π²ΡΡΠ΅», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΠΊΠΎΠ΄Π΅ Π²ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΡΠ°ΠΉΠ» config.php, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π° Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ. Π‘ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌΠΈ ΠΏΡΡΡΠΌΠΈ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
Π Ρ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΡΠΎΠΆΠ΅:
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ :
PHP Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠΈΠΈ Β«PHP Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Β», ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΡΡ ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ PHP ΠΈΡΠ΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ
PHP ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²Π°ΡΠ½ΠΈΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΊ (Π΄Π°, Π΄Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΆΠ΅ Π±ΡΠ» Personal Home Page Tools), Π° Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π½Π° Π½ΡΠΌ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ, ΡΠΎΡΠΈΠ°Π»ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΊΠΈ Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΊΠ΅ ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π·Π°Π΄ΡΠΌΠ°Π½Π½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΊ ΡΠ΅ΠΌΡ ΡΡΠΎ Ρ β Π° ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΡΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ (ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΡΠ²ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Ρ Π²Π°Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΈΡΠ°Π»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΡΡΠΎΡΠΊΠΈ). ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ Π² PHP Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΠΈΠΉ ΡΠΌΡΡΠ» ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ index.php, ΡΠΎ PHP Π²ΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ:
ΠΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΠΎ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ ΡΡΡΠΎΠΊΠ° Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΡΠ»ΠΈ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ Π±ΡΠ» ΡΠΊΠ°Π·Π°Π½ namespace).
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΡΡΠΈΠ½Π³ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ HTML, ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π² PHP ΡΠ΅Π³ΠΈ:
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΎΠ»ΡΠΊΠΎ PHP ΠΊΠΎΠ΄, ΡΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π³ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΎΠΏΡΡΠΊΠ°ΡΡ, Π΄Π°Π±Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π΅ Π·Π°Π±ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π³Π°, ΡΡΠΎ ΡΡΠ΅Π²Π°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ (ΠΎΠ± ΡΡΠΎΠΌ Ρ Π΅ΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅).
Π Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°ΠΉΡ-ΡΠ°ΠΉΠ» Π½Π° 10 000 ΡΡΡΠΎΠΊ? ΠΠΆ ΡΠ»ΡΠ·Ρ Π½Π° Π³Π»Π°Π·Π°Ρ (β₯_β₯)β¦
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π² PHP ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΎΡΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΎΠΌΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΏΠ°ΠΉΡΠ΅, ΠΏΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π»Ρ Π²Π°Ρ Β«Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠΎ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΎΠΉΒ» π
Π Π±ΡΠ΄Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄Π²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° echo.php:
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΡ ΠΏΠ°ΡΠΎΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ β auto_prepend_file ΠΈ auto_append_file. ΠΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π― Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Β«ΠΆΠΈΠ²ΠΎΠΉΒ» ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ.
ΠΠ΄Π΅ ΠΈΡΠ΅Ρ?
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π²Ρ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ (Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ «/») ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ (Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ «.» ΠΈΠ»ΠΈ «..»), ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° include_path Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π°, Π° ΠΏΠΎΠΈΡΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠΈΠ»ΠΎ Π±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΏΡΠΎ safe_mode, Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΈΡΡΠΎΡΠΈΡ (Ρ Π²Π΅ΡΡΠΈΠΈ 5.4), ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ Π½ΠΈΠΌ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³, ΡΠΎ ΡΡΠΎΠ±Ρ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ»ΠΎ, Π½ΠΎ ΠΏΡΠΎΡΠ»ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ return
ΠΠ°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΊΡΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΆΠΈΠ»ΠΎΡΡ ΠΈ ΡΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ: Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΈ Π»ΠΈ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π΄ΠΎ return ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΡΠ΅Π½Ρ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ, ΡΠ°ΠΊ ΠΈ Π΅ΡΡ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ β Π΅ΡΡ ΡΠΎΡ ΠΏΠΎΠ΄Π°ΡΠΎΡΠ΅ΠΊ, Π·Π°ΡΠ΅Π½ΠΈΡΠ΅ ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Β«ΡΡΠ°ΡΡΡΡΒ» Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ __autoload. Π‘ΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠ½Π΅Π΅, ΡΡΠΎ Π±ΡΠ»Π° Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΈ, ΠΈ ΡΠΆΠ΅ Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ ΡΡΠΈΡΠ°Π»ΠΎΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° (Ρ.Π΅. myClass Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° myClass.php). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ __autoload() (Π²Π·ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ):
ΠΠ»Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ:
Π€Π°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ β ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠ΄, Π° ΡΠ°ΠΌ ΡΠΆΠ΅ ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π» ΡΡΠ½ΠΊΡΠΈΡ __autoload() Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ Π²ΡΠ°Π»Ρ:
ΠΡ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΊΠ°ΡΡΠΈΠ½Π° ΠΏΡΠΎΡΡΠ½ΠΈΠ»Π°ΡΡ, Ρ ΠΎΡΡ ΠΏΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅, Π²ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π½Π°Ρ ΠΈΠΌΠΈΡΠΈΠ» Π² ΡΠ²ΠΎΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ΅, ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠΉ Π±Π°Π³. Π§ΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ, Π²Π·ΡΠΎΡΠ»ΡΠ΅ ΡΠΌΠ½ΡΠ΅ Π΄ΡΠ΄ΡΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π² Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»Π° ΡΡΠ°Π½Π΄Π°ΡΡΡ PSR-0 (ΡΡΡΠ°ΡΠ΅Π» ΡΠΆΠ΅ Π»Π΅Ρ 10 ΠΊΠ°ΠΊ) ΠΈΠ»ΠΈ PSR-4. Π ΡΡΠΌ ΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ :
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° | ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ | ΠΠ°Π·ΠΎΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ | ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ |
---|---|---|---|
\Acme\Log\Writer\File_Writer | Acme\Log\Writer | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
\Aura\Web\Response\Status | Aura\Web | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
\Symfony\Core\Request | Symfony\Core | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
\Zend\Acl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
Π Π°Π·Π»ΠΈΡΠΈΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ², Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ PSR-0 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ (Ρ.Π΅. Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.3.0), Π° PSR-4 ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π°Π½Π°Ρ ΡΠΎΠ½ΠΈΠ·ΠΌΠ°, Π΄Π° Π΅ΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ°ΠΏΠΎΠΊ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ, ΡΡΠ°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΊ composer β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ PHP. ΠΡΠ»ΠΈ ΠΊΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ», ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ pronskiy ΠΏΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ.
PHP-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ
ΠΡΡ Ρ ΠΎΡΠ΅Π» ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅Ρ , ΠΊΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΠ°ΠΉΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ index.php ΠΈ Π½Π°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ MVC-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ:
Π‘ΠΌΠΎΡΡΠΈΡΡ Π½Π° ΠΊΠΎΠ΄, ΠΈ ΡΠ°ΠΊ ΠΈ Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎ-Π½ΠΈΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ:
ΠΡΠΎΡΠ°Ρ Β«ΡΡΠΎΡΡΠ°ΡΒ» ΠΌΡΡΠ»Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
Π’ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ open_basedir, Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ PHP Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, Π΄Π°Π½Π½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π²Π»ΠΈΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΈ Π½Π° Π²ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Ρ.Π΅. Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π°Π±ΡΠ»ΠΈ Π²Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½ΠΈ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ (Ρ ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ is_uploaded_file() ΠΈ move_uploaded_file() ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²).
ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ? Π£ΠΉΠΌΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π₯ΠΎΡΠ΅Π» Π΅ΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Β«ΡΡΠ΄Π΅ΡΠ½ΠΎΠΉΒ» Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ allow_url_include (Ρ Π½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ allow_url_fopen), ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ PHP ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ ΠΊΡΠ΄Π° ΠΊΠ°ΠΊ ΠΎΠΏΠ°ΡΠ½Π΅ΠΉ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°:
Π£Π²ΠΈΠ΄Π΅Π»ΠΈ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ, ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ, Π±Π»Π°Π³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΎ. ΠΠ°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΡ ΡΠ΅ΠΆΠ΅, ΡΠ΅ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π°, Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ API.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ β ΠΎΡΠ½ΠΎΠ²Π°-ΠΎΡΠ½ΠΎΠ² Π² PHP, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΠ·ΡΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ Π½Π΅ ΡΠΈΠ»ΠΎΠ½ΡΡΠ΅, Π·Π° Π²Π°Ρ Π½ΠΈΠΊΡΠΎ ΡΡΠΈΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠΎ ΡΠ΅ΠΏΠΎΡΡ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ Β«PHP Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Β»: