├── .gitignore
├── README.md
├── ajax
├── addcom.php
├── catalog.php
├── catalogs.sql
├── check.php
├── checkboxes.php
├── click.html
├── comments.css
├── comments.php
├── comments.sql
├── connect.php
├── files.php
├── html.html
├── index.html
├── jquery.js
├── jquery.min.js
├── list.css
├── list.php
├── load.php
├── select.php
├── time.php
├── user.php
└── users.sql
├── arrays
├── array_multisort.php
├── badplus.php
├── for.php
├── foreach_copy.php
├── foreach_ref.php
├── forkeys.php
└── list.php
├── buildin
└── index.php
├── cgi
└── getform.htm
├── cgiinside
├── c
│ ├── cookies.c
│ ├── env.c
│ ├── gif.c
│ ├── post.c
│ ├── postdecode.c
│ ├── script.c
│ ├── test.gif
│ └── urldecode.c
├── multipart.htm
└── postform.htm
├── classes
├── File
│ ├── Logger.php
│ └── Logger0.php
├── Math
│ ├── Complex.php
│ ├── Complex1.php
│ └── Complex2.php
├── cache.php
├── call.php
├── call1.php
├── clone.php
├── clone0.php
├── cls.php
├── const.php
├── construct.php
├── defined.php
├── destr.php
├── destr0.php
├── oldcons.php
├── overload.php
├── refcount.php
├── serialize.php
├── static.php
├── text.obj
├── tostring.php
├── unserialize.php
├── user.php
├── user_serialize.php
└── user_unserialize.php
├── classes_php
├── closure.php
├── dateinterval.php
├── dateinterval_diff.php
├── dateperiod.php
├── datetime.php
├── datetime_rss.php
├── datetime_set.php
├── datetimezone.php
├── dir.php
├── dir1.php
├── generator.php
├── generator_class.php
├── next.php
├── rewind.php
└── view.php
├── composer
├── dir.php
├── file.php
├── items_range.php
├── languages.sql
├── monolog
│ ├── composer.json
│ ├── composer.lock
│ └── index.php
├── pager
│ ├── README.md
│ ├── composer.json
│ └── src
│ │ └── ISPager
│ │ ├── DirPager.php
│ │ ├── FilePager.php
│ │ ├── ItemsRange.php
│ │ ├── Pager.php
│ │ ├── PagesList.php
│ │ ├── PdoPager.php
│ │ └── View.php
├── pager_use
│ ├── composer.json
│ ├── composer.lock
│ └── index.php
├── pdo.php
├── phinx
│ ├── composer.json
│ ├── composer.lock
│ ├── db
│ │ ├── migrations
│ │ │ └── 20151227101306_create_user_table.php
│ │ └── seeds
│ │ │ └── UsersSeeder.php
│ └── phinx.yml
├── photos
│ ├── s_20040815135808.jpg
│ ├── s_20040815135939.JPG
│ ├── s_20040815140021.JPG
│ ├── s_20040815140107.JPG
│ ├── s_20040815140209.JPG
│ ├── s_20040815140411.JPG
│ ├── s_20040815140506.JPG
│ ├── s_20040815140606.JPG
│ ├── s_20040815140809.JPG
│ ├── s_20040815141012.JPG
│ └── s_20040815141200.JPG
└── psysh
│ ├── composer.json
│ ├── composer.lock
│ └── index.php
├── curl
├── curl.php
├── form.html
├── handler.php
├── headers.php
├── post.php
├── time.php
└── user_agent.php
├── date
├── calendar.php
├── date.php
├── gm.php
├── microtime.php
├── strftime.php
└── strtotime.php
├── except
├── PHP
│ └── Exceptionizer.php
├── catchall.php
├── destr.php
├── er.php
├── error.php
├── error_catch.php
├── finally.php
├── handler.php
├── handler0.php
├── iface
│ ├── exceptions.php
│ ├── interfaces.php
│ └── test.php
├── inherit.php
├── seh.php
├── simple.php
├── stack.php
├── submit.php
├── tostring.php
├── trace.php
├── trigger_error.php
├── w2e_hier.php
└── w2e_simple.php
├── exec
├── dead.php
├── esc.php
└── popen.php
├── expr
├── bits.php
├── bits_pack.php
├── bits_unpack.php
├── bool.php
├── boolinc.php
├── dynamic.php
├── eq.php
├── eqobj.php
├── exists.php
├── hardref.php
├── if.php
├── objref.php
├── var_export.php
├── warn.php
└── warnoff.php
├── extensions
├── phpinfo.php
├── precision.php
└── session.php
├── files
├── counter.php
├── csv.php
├── file.csv
├── file.ini
├── glob.php
├── ini.php
├── lock_ex.php
├── lock_ex_cyclic.php
├── lock_sh.php
├── slashes.php
├── textbin.php
└── tree.php
├── filters
├── anonim_sanitize.php
├── boolean_validate.php
├── callback_sanitize.php
├── default.php
├── email_sanitize.php
├── email_validate.php
├── encoded_sanitize.php
├── filter_input.php
├── filter_var.php
├── filter_var_array.php
├── int_float_sanitize.php
├── int_sanitize.php
├── ip_validate.php
├── magic_quotes_sanitize.php
├── range_validate.php
├── regexp_validate.php
└── special_chars_sanitize.php
├── forms
├── checkbox.php
├── cookie.php
├── dump.php
├── form.html
├── hello.php
├── ip.php
├── lock.php
└── qs.php
├── fpm
├── php-fpm.conf
├── pool.d
│ ├── example.com.conf
│ └── example.net.conf
└── sites-available
│ ├── example.com
│ └── example.net
├── func
├── anonim.php
├── anpar.php
├── byref.php
├── byval.php
├── call_user_func_array.php
├── closure.php
├── dumper.php
├── dumperEx.php
├── func_get_args.php
├── global.php
├── local.php
├── nested.php
├── retnull.php
├── retref.php
├── return.php
├── select.php
├── speed.php
├── static.php
├── stricttypes.php
├── toomanyargs.php
├── types.php
├── unset.php
├── varargs.php
├── varargsold.php
└── virtual.php
├── funcarr
├── array_flip.php
├── array_intersect.php
├── array_reverse.php
├── asort.php
├── json_answer.php
├── json_decode.php
├── json_encode.php
├── json_index.js
├── json_index.php
├── ksort.php
├── merge.php
├── natsort.php
├── shuffle.php
├── sort.php
├── sort1.php
├── uksort.php
└── usort.php
├── gd
├── button.gif
├── button.php
├── lib
│ └── imagettf.php
├── pen.php
├── random.php
├── resample.php
├── sample00.gif
├── sample01.gif
├── sample02.png
├── sample03.jpg
├── sample1.jpg
├── sample2.jpg
├── sample3.jpg
├── sample4.jpg
├── sample5.jpg
├── semitransp.php
├── tile.php
├── times.ttf
├── transparent.htm
├── transparent.php
└── ttf.php
├── generators
├── array.php
├── collect.php
├── combine.php
├── combine_from.php
├── keys.php
├── makerange_bad.php
├── makerange_good.php
├── object.php
├── ref.php
├── reject.php
├── return.php
├── select.php
├── send.php
├── simple.php
└── yield.php
├── inherit
├── File
│ ├── Logger.php
│ └── Logger
│ │ ├── Debug.php
│ │ └── Debug0.php
├── abstract.php
├── anonym.php
├── anonym_nested.php
├── final.php
├── ifacemulti.php
├── inherit.php
├── inherit0.php
├── inherit0cast.php
├── inherit_static.php
├── pages
│ ├── Cached.php
│ ├── CachedA.php
│ ├── Category.php
│ ├── News.php
│ ├── Page.php
│ ├── PageA.php
│ ├── StaticPage.php
│ ├── cast.php
│ ├── instanceof.php
│ └── test.php
├── static.php
├── traits.php
├── traits_conflict.php
└── traits_inherit.php
├── instruct
├── dowhile.php
├── for.php
├── foreach.php
├── goto.php
├── ifelse.php
├── require
│ ├── foot.html
│ ├── head.html
│ └── script.php
├── trouble
│ ├── aargh.php
│ ├── wlib.php
│ └── xllib.php
└── while.php
├── iterators
├── array.php
├── directory.php
├── filter.php
├── iter_fs.php
├── iter_simple.php
├── lib
│ ├── FS.php
│ └── filter.php
├── limit.php
├── recursion.php
├── recursion_dir.php
└── size.php
├── mail
├── attach.php
├── handler.php
├── image.php
├── lib
│ ├── attach.php
│ ├── mail_enc.php
│ ├── mailenc.php
│ ├── mailx.php
│ └── template.php
├── mail.eml
├── mail.php.eml
├── mail_php.php
├── mail_simple.php
├── mail_x.php
├── s_20040815135808.jpg
└── s_20040815135939.JPG
├── math
├── largetextfile.txt
├── mt_srand.php
├── nan.php
└── randline.php
├── memcached
├── add.php
├── connect.php
├── connect_multi.php
├── delete_by_key.php
├── error.php
├── error_code.php
├── fetch.php
├── get_by_key.php
├── get_multi.php
├── groups.php
├── increment.php
├── server_by_key.php
├── set.php
├── set_by_key.php
└── set_multi.php
├── mysql
├── .my.cnf
├── addnews.php
├── authors.sql
├── auto.sql
├── catalogs.sql
├── connect.php
├── connect_db.php
├── errors.php
├── exec.php
├── fetch.php
├── fetch_all.php
├── forums.sql
├── multi_insert.sql
├── my.cnf
├── news.html
├── news.sql
├── posts.sql
├── prepare.php
├── pri.sql
├── tbl.sql
├── tbl_insert.sql
├── tbl_order.sql
├── themes.sql
└── version.php
├── namespace
├── PHP7
│ ├── Page.php
│ ├── Seo.php
│ └── Tag.php
├── absolute.php
├── anonim.php
├── autoload.php
├── few.php
├── few_relative.php
├── few_use.php
├── namespace.php
├── namespace_use.php
├── spl_autoload_register.php
├── use.php
└── wrong.php
├── net
├── context.php
├── file.php
├── form.html
├── handler.php
├── post.php
├── socket.php
└── wrap.php
├── nginx
├── mime.types
├── nginx.conf
├── sites-available
│ ├── example.com
│ ├── example.info
│ ├── example.io
│ ├── example.net
│ └── example.org
└── templates
│ ├── default
│ └── php
├── ob
├── Buffering
│ └── Output.php
├── correct.php
├── gz.htm
├── gz.php
├── handle.php
├── linearize.php
└── objhandle.php
├── otherfuncs
├── create_function.php
├── eval.php
├── lastmod.php
├── mkfuncs.php
├── phpinfo.php
├── sort.php
├── sort_new.php
└── sort_old.php
├── perm
├── fileperms.php
├── mtime.php
├── text.txt
└── typefile.php
├── phar
├── array.php
├── autoloader.php
├── autopager.phar
├── compress.phar
├── compress.phar.gz
├── compress.php
├── create.php
├── extract.php
├── foreach.php
├── gallery.phar
├── gallery.php
├── gallery_phar.php
├── gallery_use.php
├── ispager.phar
├── phpinfo.phar
├── show.php
├── stream.php
├── stub.php
├── stub_use.php
├── text.phar
└── text.php
├── phpbasics
└── sq.php
├── phpdocs
├── PHP7
│ └── Page.php
├── Page.php
└── phpdocs
│ ├── composer.json
│ ├── composer.lock
│ ├── docblock.php
│ └── docs
│ ├── .htaccess
│ ├── css
│ ├── bootstrap-combined.no-icons.min.css
│ ├── font-awesome.min.css
│ ├── jquery.iviewer.css
│ ├── phpdocumentor-clean-icons
│ │ ├── Read Me.txt
│ │ ├── fonts
│ │ │ ├── phpdocumentor-clean-icons.dev.svg
│ │ │ ├── phpdocumentor-clean-icons.eot
│ │ │ ├── phpdocumentor-clean-icons.svg
│ │ │ ├── phpdocumentor-clean-icons.ttf
│ │ │ └── phpdocumentor-clean-icons.woff
│ │ ├── lte-ie7.js
│ │ └── style.css
│ ├── prism.css
│ └── template.css
│ ├── files
│ ├── docblock.html
│ └── docblock.php.txt
│ ├── font
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ └── fontawesome-webfont.woff
│ ├── graphs
│ └── class.html
│ ├── images
│ ├── apple-touch-icon-114x114.png
│ ├── apple-touch-icon-72x72.png
│ ├── apple-touch-icon.png
│ ├── custom-icons.svg
│ ├── favicon.ico
│ ├── hierarchy-item.png
│ ├── icon-class-13x13.png
│ ├── icon-class.svg
│ ├── icon-interface-13x13.png
│ ├── icon-interface.svg
│ ├── icon-trait-13x13.png
│ ├── icon-trait.svg
│ └── iviewer
│ │ ├── grab.cur
│ │ ├── hand.cur
│ │ ├── iviewer.rotate_left.png
│ │ ├── iviewer.rotate_right.png
│ │ ├── iviewer.zoom_fit.png
│ │ ├── iviewer.zoom_in.png
│ │ ├── iviewer.zoom_out.png
│ │ └── iviewer.zoom_zero.png
│ ├── index.html
│ ├── js
│ ├── bootstrap.min.js
│ ├── html5.js
│ ├── jquery-1.11.0.min.js
│ ├── jquery.dotdotdot-1.5.9.js
│ ├── jquery.dotdotdot-1.5.9.min.js
│ ├── jquery.iviewer.js
│ ├── jquery.iviewer.min.js
│ ├── jquery.mousewheel.js
│ ├── jquery.smooth-scroll.js
│ ├── prism.min.js
│ └── ui
│ │ └── 1.10.4
│ │ └── jquery-ui.min.js
│ ├── namespaces
│ └── default.html
│ ├── phpdoc-cache-2e
│ └── phpdoc-cache-settings.dat
│ ├── phpdoc-cache-66
│ └── phpdoc-cache-file_a55161f66a86fef6e379665611095064.dat
│ └── reports
│ ├── deprecated.html
│ ├── errors.html
│ └── markers.html
├── preg
├── email.php
├── ex01.php
├── ex02.php
├── ex03.php
├── ex04.php
├── ex05.php
├── ex06.php
├── ex07.php
├── ex08.php
├── ex09.php
├── ex10.php
├── ex11.php
├── ex12.php
├── grep.php
├── hsc.php
├── http.php
├── largetextfile.txt
├── match_all.php
├── replace_callback.php
├── replace_callback_array.php
├── translit.php
└── uniq.php
├── redirect
├── bad.php
├── book.txt
├── good.php
├── internal.php
└── result.php
├── reflect
├── impl_meth.php
├── inst.php
├── inst_refl.php
├── lib
│ └── Complex2.php
├── rclass.php
├── rdoc.php
├── rexcept.php
├── rext.php
├── rfunc.php
└── rinherit.php
├── session
├── count.php
└── handlers.php
├── standarts
├── codesniffer
│ ├── composer.json
│ └── composer.lock
├── indent.php
├── interpolate.php
├── psr
│ ├── Cache
│ │ ├── CacheItemInterface.php
│ │ └── CacheItemPoolInterface.php
│ ├── Http
│ │ └── Message
│ │ │ ├── MessageInterface.php
│ │ │ ├── RequestInterface.php
│ │ │ ├── ResponseInterface.php
│ │ │ ├── ServerRequestInterface.php
│ │ │ ├── StreamInterface.php
│ │ │ ├── UploadedFileInterface.php
│ │ │ └── UriInterface.php
│ └── Log
│ │ └── LoggerInterface.php
├── psr1right.php
├── psr1wrong.php
├── psr2.php
└── server.php
├── string
├── ascii.php
├── compare.php
├── htmlspecialchars.php
├── replace.php
├── str_replace.php
├── strip_tags.php
├── strlen.php
├── translit.php
├── translit_utf8.php
├── utf8.php
├── utf8crash.php
└── wordwrap.php
├── template
├── 1
│ └── news.php
├── 2
│ └── news.php
├── comp
│ ├── component_gbook_add.php
│ ├── component_gbook_show.php
│ ├── component_news_show.php
│ ├── gbook.dat
│ ├── model.php
│ └── view.php
├── mvc
│ ├── controller.php
│ ├── gbook.dat
│ ├── model.php
│ ├── passive
│ │ ├── controller.php
│ │ ├── gbook.dat
│ │ └── view.htm
│ └── view.php
└── news.txt
├── test
├── upload
├── album.php
├── complex.php
└── test.php
├── vagrant
├── Vagrantfile01
├── Vagrantfile02
├── Vagrantfile03
└── Vagrantfile04
├── www
├── getallheaders.php
├── lib
│ ├── http_build_url.php
│ └── nocache.php
├── modify_url.php
├── parse_str.php
├── parse_url.php
└── sillycount.php
└── xml
├── array.php
├── attributes.php
├── attributes_list.php
├── build.php
├── build.xml
├── connect.php
├── count.php
├── enclosure.php
├── news.sql
├── read.php
├── rss.xml
└── xpath.php
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore all tempfiles
2 | .swp
3 | *~
4 | *.swp
5 | *.log
6 | *.cgi
7 | *.out
8 | .idea
9 | .DS_Store
10 | /composer/monolog/vendor/
11 | /composer/pager_use/vendor/
12 | /composer/phinx/vendor/
13 | /composer/psysh/vendor/
14 | /phpdocs/phpdocs/vendor/
15 | /standarts/codesniffer/vendor/
16 | /standarts/vendor/
--------------------------------------------------------------------------------
/ajax/check.php:
--------------------------------------------------------------------------------
1 | PDO::ERRMODE_EXCEPTION]);
8 | }
9 | catch (PDOException $e) {
10 | echo "Невозможно установить соединение с базой данных";
11 | }
12 | ?>
--------------------------------------------------------------------------------
/ajax/html.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Использование метода html() для изменения текста.
5 |
6 |
7 |
12 |
13 |
14 | Тест будет изменен.
15 | Тест останется без изменений.
16 | Тест будет изменен.
17 |
18 |
19 |
--------------------------------------------------------------------------------
/ajax/load.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Использование метода load()
5 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ajax/select.php:
--------------------------------------------------------------------------------
1 | prepare($query);
12 | $cat->execute(['id' => $_GET['id']]);
13 | echo "";
14 | while($catalog = $cat->fetch()) {
15 | echo "";
16 | }
17 |
--------------------------------------------------------------------------------
/ajax/time.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrays/badplus.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/arrays/for.php:
--------------------------------------------------------------------------------
1 | "Thomas Anderson", "born" => "1962-03-11"],
4 | ["name" => "Keanu Reeves", "born" => "1962-09-02"],
5 | ];
6 | for($i = 0; $i < count($dossier); $i++)
7 | echo "{$dossier[$i]['name']} was born {$dossier[$i]['born']}
";
8 | ?>
--------------------------------------------------------------------------------
/arrays/foreach_copy.php:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/arrays/foreach_ref.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrays/forkeys.php:
--------------------------------------------------------------------------------
1 | "1962-03-11",
4 | "Keanu Reeves" => "1962-09-02",
5 | ];
6 | for (reset($birth); ($k = key($birth)); next($birth))
7 | echo "$k родился {$birth[$k]}
";
8 | ?>
--------------------------------------------------------------------------------
/arrays/list.php:
--------------------------------------------------------------------------------
1 | ";
6 | // Печатаем в цикле все элементы массива.
7 | for($i = 0; $i < count($namesList); $i++)
8 | echo $namesList[$i]."
";
9 | ?>
--------------------------------------------------------------------------------
/buildin/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cgi/getform.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Документ с формой
5 |
6 |
7 |
8 |
15 |
16 |
--------------------------------------------------------------------------------
/cgiinside/c/test.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/cgiinside/c/test.gif
--------------------------------------------------------------------------------
/cgiinside/multipart.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Отправка данных POST
5 |
6 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/cgiinside/postform.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Получение данных POST
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/classes/Math/Complex.php:
--------------------------------------------------------------------------------
1 | re += $re;
11 | $this->im += $im;
12 | }
13 | }
14 | ?>
--------------------------------------------------------------------------------
/classes/Math/Complex1.php:
--------------------------------------------------------------------------------
1 | re += $y->re;
9 | $this->im += $y->im;
10 | }
11 | // Преобразует число в строку (например, для вывода).
12 | function __toString()
13 | {
14 | return "({$this->re}, {$this->im})";
15 | }
16 | }
17 | ?>
--------------------------------------------------------------------------------
/classes/Math/Complex2.php:
--------------------------------------------------------------------------------
1 | re = $re;
9 | $this->im = $im;
10 | }
11 | // Добавляет к текущему комплексному числу другое.
12 | function add(MathComplex2 $y)
13 | {
14 | $this->re += $y->re;
15 | $this->im += $y->im;
16 | }
17 | // Преобразует число в строку (например, для вывода).
18 | function __toString()
19 | {
20 | return "({$this->re}, {$this->im})";
21 | }
22 | }
23 | ?>
--------------------------------------------------------------------------------
/classes/call.php:
--------------------------------------------------------------------------------
1 | re = 16.7;
8 | $obj->im = 101;
9 | // Вызов метода add() с параметрами (18.09, 303) объекта $obj.
10 | $obj->add(18.09, 303);
11 | // Выводим результат:
12 | echo "({$obj->re}, {$obj->im})";
13 | ?>
--------------------------------------------------------------------------------
/classes/call1.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/classes/call1.php
--------------------------------------------------------------------------------
/classes/clone0.php:
--------------------------------------------------------------------------------
1 | add($a);
9 | // При этом $x не изменяется!
10 | echo "x=", $x, ", y=", $y;
11 | // Попробуйте убрать clone - вы увидите, что $x и $y имеют
12 | // одинаковые значения, ибо ссылаются на один и тот же объект.
13 | ?>
14 |
--------------------------------------------------------------------------------
/classes/cls.php:
--------------------------------------------------------------------------------
1 | var = $var;
8 | }
9 | }
10 | ?>
--------------------------------------------------------------------------------
/classes/const.php:
--------------------------------------------------------------------------------
1 | NAME; // Ошибочное обращение
8 | echo self::NAME;
9 | echo "
";
10 | echo cls::NAME;
11 | echo "
";
12 | }
13 | }
14 |
15 | echo cls::NAME;
16 | ?>
17 |
--------------------------------------------------------------------------------
/classes/construct.php:
--------------------------------------------------------------------------------
1 | add(new MathComplex2(303, 6));
5 | echo $a;
6 | ?>
--------------------------------------------------------------------------------
/classes/defined.php:
--------------------------------------------------------------------------------
1 | "; // true
5 | else echo "Константа не определена
";
6 |
7 | if(defined("cls::POSITION")) echo "Константа определена
"; // false
8 | else echo "Константа не определена
";
9 | ?>
--------------------------------------------------------------------------------
/classes/destr.php:
--------------------------------------------------------------------------------
1 | log("Hello!");
6 | // Теперь нет необходимости заботиться о корректном
7 | // уничтожении объекта - PHP делает все сам!
8 | }
9 | exit();
10 | ?>
--------------------------------------------------------------------------------
/classes/destr0.php:
--------------------------------------------------------------------------------
1 | log("Hello!");
7 | // Представим, что мы случайно забыли вызвать close().
8 | // $logger->close();
9 | }
10 | ?>
--------------------------------------------------------------------------------
/classes/oldcons.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/classes/serialize.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/classes/text.obj:
--------------------------------------------------------------------------------
1 | O:3:"cls":1:{s:3:"var";i:100;}
--------------------------------------------------------------------------------
/classes/tostring.php:
--------------------------------------------------------------------------------
1 | re = 314;
5 | $a->im = 101;
6 | echo "Значение: $a";
7 | ?>
8 |
--------------------------------------------------------------------------------
/classes/unserialize.php:
--------------------------------------------------------------------------------
1 | ";
16 | print_r($obj);
17 | echo "";
18 | ?>
--------------------------------------------------------------------------------
/classes/user.php:
--------------------------------------------------------------------------------
1 | name = $name;
8 | $this->password = $password;
9 | $this->referrer = $_SERVER['PHP_SELF'];
10 | $this->time = time();
11 | }
12 | public function __sleep()
13 | {
14 | $this->password = "";
15 | return ['name', 'referrer', 'time'];
16 | }
17 |
18 | // Имя пользователя
19 | public $name;
20 | // Его пароль
21 | public $password;
22 | // Последняя посещенная страница
23 | public $referrer;
24 | // Время авторизации пользователя
25 | public $time;
26 | }
27 | ?>
--------------------------------------------------------------------------------
/classes/user_serialize.php:
--------------------------------------------------------------------------------
1 | ";
10 | print_r($obj);
11 | echo "";
12 |
13 | // Серилизуем объект
14 | $object = serialize($obj);
15 |
16 | // Выводим сериализованный объект
17 | echo $object;
18 | ?>
--------------------------------------------------------------------------------
/classes/user_unserialize.php:
--------------------------------------------------------------------------------
1 | ";
15 | print_r($obj);
16 | echo "";
17 | ?>
18 |
--------------------------------------------------------------------------------
/classes_php/closure.php:
--------------------------------------------------------------------------------
1 | ";
3 | $check = function(array $errors) use ($message) {
4 | if (isset($errors) && count($errors) > 0) {
5 | echo $message;
6 | foreach($errors as $error) {
7 | echo "$error
";
8 | }
9 | }
10 | };
11 |
12 | echo "";
13 | print_r($check);
14 | echo "
";
15 | ?>
--------------------------------------------------------------------------------
/classes_php/dateinterval.php:
--------------------------------------------------------------------------------
1 | sub(new DateInterval("P3Y1M14DT12H19M2S"));
4 | echo $date->format("Y-m-d H:i:s");
5 | ?>
--------------------------------------------------------------------------------
/classes_php/dateinterval_diff.php:
--------------------------------------------------------------------------------
1 | diff($date);
5 | // Выводим результаты
6 | echo $date->format("d-m-Y H:i:s")."
";
7 | echo $nowdate->format("d-m-Y H:i:s")."
";
8 | // Выводим разницу
9 | echo $interval->format("%Y-%m-%d %H:%S")."
";
10 | // Выводим дамп интервала
11 | echo "";
12 | print_r($interval);
13 | echo "
";
14 | ?>
--------------------------------------------------------------------------------
/classes_php/dateperiod.php:
--------------------------------------------------------------------------------
1 | format("Y-m-d")."
";
8 | }
9 | ?>
--------------------------------------------------------------------------------
/classes_php/datetime.php:
--------------------------------------------------------------------------------
1 | format("d-m-Y H:i:s"); // 14-11-2015 15:53:52
4 | ?>
--------------------------------------------------------------------------------
/classes_php/datetime_rss.php:
--------------------------------------------------------------------------------
1 | format(DateTime::RSS); // Fri, 01 Jan 2016 00:00:00 +0000
4 | ?>
--------------------------------------------------------------------------------
/classes_php/datetime_set.php:
--------------------------------------------------------------------------------
1 | format("d-m-Y H:i:s"); // 01-01-2016 00:00:00
4 | ?>
--------------------------------------------------------------------------------
/classes_php/datetimezone.php:
--------------------------------------------------------------------------------
1 | format("d-m-Y H:i:s"); // 01-01-2016 00:00:00
5 | ?>
--------------------------------------------------------------------------------
/classes_php/dir.php:
--------------------------------------------------------------------------------
1 | read()) !== false) {
6 | echo $file."
";
7 | }
8 | // Закрываем каталог
9 | $cat->close();
10 | ?>
--------------------------------------------------------------------------------
/classes_php/dir1.php:
--------------------------------------------------------------------------------
1 | handle)) !== false) {
6 | echo $file."
";
7 | }
8 | // Закрываем каталог
9 | closedir($cat->handle);
10 | ?>
11 |
--------------------------------------------------------------------------------
/classes_php/generator.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/classes_php/generator_class.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/classes_php/next.php:
--------------------------------------------------------------------------------
1 | valid()) {
12 | echo ($obj->current() * $obj->current())." ";
13 | // К следующему элементу
14 | $obj->next();
15 | }
16 | ?>
--------------------------------------------------------------------------------
/composer/dir.php:
--------------------------------------------------------------------------------
1 | getItems() as $img) {
14 | echo "
";
15 | }
16 | // Постраничная навигация
17 | echo "$obj
";
18 |
--------------------------------------------------------------------------------
/composer/file.php:
--------------------------------------------------------------------------------
1 | getItems() as $line) {
12 | echo htmlspecialchars($line)."
";
13 | }
14 | // Постраничная навигация
15 | echo "$obj
";
16 |
--------------------------------------------------------------------------------
/composer/monolog/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "monolog/monolog": "1.17.*"
4 | }
5 | }
--------------------------------------------------------------------------------
/composer/monolog/index.php:
--------------------------------------------------------------------------------
1 | pushHandler($handler);
8 | $log->addWarning('Предупреждение');
9 | ?>
--------------------------------------------------------------------------------
/composer/pager_use/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "igorsimdyanov/pager": "*"
4 | }
5 | }
--------------------------------------------------------------------------------
/composer/pager_use/index.php:
--------------------------------------------------------------------------------
1 | getItems() as $line) {
9 | echo htmlspecialchars($line)."
";
10 | }
11 | // Постраничная навигация
12 | echo "$obj
";
13 |
--------------------------------------------------------------------------------
/composer/phinx/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "robmorgan/phinx": "*"
4 | }
5 | }
--------------------------------------------------------------------------------
/composer/photos/s_20040815135808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815135808.jpg
--------------------------------------------------------------------------------
/composer/photos/s_20040815135939.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815135939.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140021.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140021.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140107.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140107.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140209.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140209.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140411.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140411.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140506.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140506.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140606.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140606.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815140809.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140809.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815141012.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815141012.JPG
--------------------------------------------------------------------------------
/composer/photos/s_20040815141200.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815141200.JPG
--------------------------------------------------------------------------------
/composer/psysh/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "monolog/monolog": "1.17.*",
4 | "psy/psysh": "*"
5 | }
6 | }
--------------------------------------------------------------------------------
/composer/psysh/index.php:
--------------------------------------------------------------------------------
1 | pushHandler($handler);
7 |
8 | # Вызываем интерактивный отладчик
9 | eval(\Psy\sh());
10 |
11 | $log->addWarning('Предупреждение');
12 | ?>
--------------------------------------------------------------------------------
/curl/curl.php:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/curl/form.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Форма
5 |
6 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/curl/handler.php:
--------------------------------------------------------------------------------
1 | ";
4 | echo "Пароль - ".htmlspecialchars($_POST['pass'])."
";
5 | }
6 | ?>
--------------------------------------------------------------------------------
/curl/post.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/curl/time.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/curl/user_agent.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/date/date.php:
--------------------------------------------------------------------------------
1 | ");
3 | echo date("Сегодня d.m.Y
");
4 | echo date("Этот файл датирован d.m.Y
", filectime(__FILE__));
5 | ?>
6 |
--------------------------------------------------------------------------------
/date/microtime.php:
--------------------------------------------------------------------------------
1 | ", $time);
4 | echo "С начала эпохи Unix: $time секунд.
";
5 | ?>
--------------------------------------------------------------------------------
/date/strftime.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/er.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/error.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/error_catch.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/finally.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/handler0.php:
--------------------------------------------------------------------------------
1 | ';
6 | echo "Произошла ошибка с кодом $errno!
";
7 | echo "Файл: $file, строка $line.
";
8 | echo "Текст ошибки: $msg";
9 | echo "";
10 | }
11 | // Регистрируем ее для всех типов ошибок.
12 | set_error_handler("myErrorHandler", E_ALL);
13 | // Вызываем функцию для несуществующего файла, чтобы
14 | // сгенерировать предупреждение, которое будет перехвачено.
15 | filemtime("spoon");
16 | ?>
17 |
--------------------------------------------------------------------------------
/except/iface/interfaces.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/iface/test.php:
--------------------------------------------------------------------------------
1 | getMessage()}.
";
8 | } catch (Exception $e) {
9 | // Перехват всех остальных исключений.
10 | echo "Неизвестное исключение: ", $e, "
";
11 | }
12 | function printDocument() {
13 | $printer = "//./printer";
14 | // Генерируем исключение типов IFileException и INetException.
15 | if (!file_exists($printer))
16 | throw new NetPrinterWriteException($printer);
17 | }
18 | ?>
--------------------------------------------------------------------------------
/except/seh.php:
--------------------------------------------------------------------------------
1 | ";
3 | set_error_handler("handler");
4 | {
5 | // Код, в котором перехватываются исключения.
6 | echo "Все, что имеет начало...
";
7 | // Генерируем ("выбрасываем") исключение.
8 | trigger_error("Hello!");
9 | echo "...имеет и конец.
";
10 | }
11 | echo "Конец программы.
";
12 | // Функция-обработчик.
13 | function handler($num, $str)
14 | {
15 | // Код обработчика.
16 | echo "Ошибка: $str
";
17 | exit();
18 | }
19 | ?>
--------------------------------------------------------------------------------
/except/simple.php:
--------------------------------------------------------------------------------
1 | ";
3 | try {
4 | // Код, в котором перехватываются исключения.
5 | echo "Все, что имеет начало...
";
6 | // Генерируем ("выбрасываем") исключение.
7 | throw new Exception("Hello!");
8 | echo "...имеет и конец.
";
9 | } catch (Exception $e) {
10 | // Код обработчика.
11 | echo " Исключение: {$e->getMessage()}
";
12 | }
13 | echo "Конец программы.
";
14 | ?>
15 |
--------------------------------------------------------------------------------
/except/stack.php:
--------------------------------------------------------------------------------
1 | ";
3 | try {
4 | echo "Начало try-блока.
";
5 | outer();
6 | echo "Конец try-блока.
";
7 | } catch (Exception $e) {
8 | echo " Исключение: {$e->getMessage()}
";
9 | }
10 | echo "Конец программы.
";
11 | function outer() {
12 | echo "Вошли в функцию ".__METHOD__."
";
13 | inner();
14 | echo "Вышли из функции ".__METHOD__."
";
15 | }
16 | function inner() {
17 | echo "Вошли в функцию ".__METHOD__."
";
18 | throw new Exception("Hello!");
19 | echo "Вышли из функции ".__METHOD__."
";
20 | }
21 | ?>
--------------------------------------------------------------------------------
/except/submit.php:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/except/tostring.php:
--------------------------------------------------------------------------------
1 | ", $e, "";
6 | }
7 | function outer() { test(101); }
8 | outer();
9 | ?>
--------------------------------------------------------------------------------
/except/trace.php:
--------------------------------------------------------------------------------
1 | "; print_r(debug_backtrace()); echo "";
6 | }
7 | function outer($x)
8 | {
9 | // Родительская функция.
10 | inner($x * $x);
11 | }
12 | // Главная программа.
13 | outer(3);
14 | ?>
--------------------------------------------------------------------------------
/except/trigger_error.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/except/w2e_hier.php:
--------------------------------------------------------------------------------
1 | Перехвачена ошибка!\n", $e, "";
13 | }
14 | }
15 | ?>
--------------------------------------------------------------------------------
/exec/dead.php:
--------------------------------------------------------------------------------
1 | ["pipe", "r"], // stdin
6 | 1 => ["pipe", "w"], // stdout
7 | 2 => ["file", "/tmp/error-output.txt", "a"] // stderr
8 | ];
9 | // Запускаем процесс.
10 | $proc = proc_open("cat", $spec, $pipes);
11 | // Дальше можно писать в $pipes[0] и читать из $pipes[1].
12 | for ($i = 0; $i < 100; $i++)
13 | fwrite($pipes[0], "Hello World #$i!\n");
14 | fclose($pipes[0]);
15 | while (!feof($pipes[1])) echo fgets($pipes[1], 1024);
16 | fclose($pipes[1]);
17 | // Закрываем дескриптор.
18 | proc_close($proc);
19 | ?>
--------------------------------------------------------------------------------
/exec/esc.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/exec/popen.php:
--------------------------------------------------------------------------------
1 | \n");
6 | fwrite($fp, "To: someuser@mail.ru\n");
7 | fwrite($fp, "Subject: here is myself\n");
8 | fwrite($fp, "\n");
9 | fwrite($fp, file_get_contents(__FILE__));
10 | // Не забудем также закрыть канал.
11 | pclose($fp);
12 | ?>
--------------------------------------------------------------------------------
/expr/bits_pack.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/expr/bits_unpack.php:
--------------------------------------------------------------------------------
1 | ";
3 | echo "Цвет: " . ((126076330 & 28) >> 2) . "
";
4 | echo "Угол поворота: " . ((126076330 & 16352) >> 5) . "
";
5 | echo "Высота: " . ((126076330 & 8372224) >> 14) . "
";
6 | echo "Ширина: " . ((126076330 & 4286578688) >> 23) . "
";
7 | ?>
--------------------------------------------------------------------------------
/expr/bool.php:
--------------------------------------------------------------------------------
1 | ";
4 | if ($hundred == true) echo "переменная истинна!
";
5 | ?>
--------------------------------------------------------------------------------
/expr/boolinc.php:
--------------------------------------------------------------------------------
1 | ";
4 | $b++;
5 | echo "b: $b
";
6 | ?>
7 |
--------------------------------------------------------------------------------
/expr/dynamic.php:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/expr/eq.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/expr/eqobj.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/expr/exists.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/expr/hardref.php:
--------------------------------------------------------------------------------
1 | '271 руб. 82 коп.',
4 | 'сковорода' => '818 руб. 28 коп.'
5 | );
6 | $b =& $A['ложка']; // $b — то же, что и элемент с индексом 'ложка'
7 | echo "Элемент с индексом 'ложка': ".$A['ложка']."
";
8 | echo "Тип несуществующего элемента 'ложка': ".gettype($A['ложка']);
9 | ?>
10 |
--------------------------------------------------------------------------------
/expr/if.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/expr/objref.php:
--------------------------------------------------------------------------------
1 | mind = 0.123;
8 | // Копируем объекты.
9 | $second = $first;
10 | // Изменяем "разумность" у копии!
11 | $second->mind = 100;
12 | // Выводим оба значения.
13 | echo "First mind: {$first->mind}, second: {$second->mind}";
14 | ?>
15 |
--------------------------------------------------------------------------------
/expr/var_export.php:
--------------------------------------------------------------------------------
1 | "; var_export($a); echo "";
8 | $obj = new SomeClass();
9 | echo ""; var_export($obj); echo "
";
10 | ?>
--------------------------------------------------------------------------------
/expr/warn.php:
--------------------------------------------------------------------------------
1 |
2 |
5 |
9 |
--------------------------------------------------------------------------------
/expr/warnoff.php:
--------------------------------------------------------------------------------
1 |
2 |
5 |
9 |
--------------------------------------------------------------------------------
/extensions/phpinfo.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/extensions/precision.php:
--------------------------------------------------------------------------------
1 | ";
4 | echo 10.23456E+20;
5 | ?>
--------------------------------------------------------------------------------
/extensions/session.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/files/counter.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/files/csv.php:
--------------------------------------------------------------------------------
1 | Строка номер $i (полей: $num):";
6 | for ($c = 0; $c < $num; $c++)
7 | print "[$c]: $data[$c]
";
8 | }
9 | fclose($f);
10 | ?>
--------------------------------------------------------------------------------
/files/file.csv:
--------------------------------------------------------------------------------
1 | См. http://bugs.php.net/bug.php?id=12127;для проверки fgetcsv()
2 | Любимое (витаминизированное);345;9,15
3 | F12;Film;Джеймс Бонд. Золотой пистолет;2:00:15;680
4 |
5 | Who are you?;"It's okay, you're safe now.
6 | I knew you'd save me.
7 | I didn't save you, kid. You saved yourself"
8 | "с ""кавычками""";Слэш \ слэш;"""";апостроф ' апостроф
9 |
--------------------------------------------------------------------------------
/files/file.ini:
--------------------------------------------------------------------------------
1 | [File Settings]
2 | ;File_version=0.2 (PP)
3 | File_version=7
4 | Chip=LM9831
5 |
6 | [Scanner Software Settings]
7 | Crystal_Frequency=48000000
8 | Scan_Buffer_Mbytes=8 // Scan buffer size in Mbytes
9 | Min_Buffer_Limit=1 // dont read scan buffer below this point in k bytes
10 |
--------------------------------------------------------------------------------
/files/glob.php:
--------------------------------------------------------------------------------
1 | ";
3 | print_r(glob("c:/windows/*/*.{exe,ini}", GLOB_BRACE));
4 | ?>
5 |
--------------------------------------------------------------------------------
/files/ini.php:
--------------------------------------------------------------------------------
1 | "; print_r($ini); echo "";
4 | echo "Chip: {$ini['File Settings']['Chip']}";
5 | ?>
--------------------------------------------------------------------------------
/files/lock_ex.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/files/lock_sh.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/files/slashes.php:
--------------------------------------------------------------------------------
1 | "; // казалось бы, правильно...
4 | $path = "c:\non\existent\file";
5 | echo $path."
"; // а вот тут - ошибка проявилась!
6 | ?>
--------------------------------------------------------------------------------
/files/textbin.php:
--------------------------------------------------------------------------------
1 | \n";
14 |
15 | $f = fopen(__FILE__, "rt"); // текстовый режим
16 | echo makeHex(fgets($f, 100)), "
\n";
17 | ?>
--------------------------------------------------------------------------------
/files/tree.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/files/tree.php
--------------------------------------------------------------------------------
/filters/anonim_sanitize.php:
--------------------------------------------------------------------------------
1 | Заголовок
4 | Первый параграф, посвященный "проверке"
5 | MARKER;
6 | echo "";
7 | echo filter_var(
8 | $str,
9 | FILTER_CALLBACK,
10 | [
11 | 'options' => function ($value) {
12 | return strip_tags($value);
13 | }
14 | ]
15 | );
16 | echo "
";
17 | ?>
--------------------------------------------------------------------------------
/filters/boolean_validate.php:
--------------------------------------------------------------------------------
1 | ";
6 | var_dump(filter_var($true, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
7 | var_dump(filter_var($false, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
8 | var_dump(filter_var($null, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
9 | echo "";
10 | ?>
--------------------------------------------------------------------------------
/filters/callback_sanitize.php:
--------------------------------------------------------------------------------
1 | Заголовок
7 | Первый параграф, посвященный "проверке"
8 | MARKER;
9 | echo "";
10 | echo filter_var($str, FILTER_CALLBACK, ['options' => 'filterTags']);
11 | echo "
";
12 | ?>
13 |
--------------------------------------------------------------------------------
/filters/default.php:
--------------------------------------------------------------------------------
1 | [
4 | 'min_range' => -10,
5 | 'max_range' => 10,
6 | 'default' => 10
7 | ]
8 | ];
9 |
10 | echo filter_var(1000, FILTER_VALIDATE_INT, $options); // 10
11 | ?>
--------------------------------------------------------------------------------
/filters/email_sanitize.php:
--------------------------------------------------------------------------------
1 | ";
5 | echo filter_var($email_wrong, FILTER_SANITIZE_EMAIL)."
";
6 | ?>
--------------------------------------------------------------------------------
/filters/email_validate.php:
--------------------------------------------------------------------------------
1 | ";
5 | echo "wrong= " . filter_var($email_wrong, FILTER_VALIDATE_EMAIL)."
";
6 | ?>
--------------------------------------------------------------------------------
/filters/encoded_sanitize.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/filters/filter_var.php:
--------------------------------------------------------------------------------
1 | ";
5 | else
6 | echo "$boolean некорректное булевое значение
";
7 |
8 | $float = "3.14";
9 | if(filter_var($float, FILTER_VALIDATE_FLOAT))
10 | echo "$float корректное значение с плавающей точкой
";
11 | else
12 | echo "$float некорректное значение с плавающей точкой
";
13 |
14 | $url = "http://github.com";
15 | if(filter_var($url, FILTER_VALIDATE_URL))
16 | echo "$url корректный адрес
";
17 | else
18 | echo "$url некорректный адрес
";
19 | ?>
--------------------------------------------------------------------------------
/filters/int_float_sanitize.php:
--------------------------------------------------------------------------------
1 | "; // 314
4 | echo intval($number); // 3
5 | ?>
--------------------------------------------------------------------------------
/filters/int_sanitize.php:
--------------------------------------------------------------------------------
1 | "; // 4342
4 | echo intval($number)."
"; // 4342
5 | ?>
--------------------------------------------------------------------------------
/filters/magic_quotes_sanitize.php:
--------------------------------------------------------------------------------
1 | ";
8 | print_r($arr);
9 | echo "";
10 | $result = filter_var_array($arr, FILTER_SANITIZE_MAGIC_QUOTES);
11 | echo "";
12 | print_r($result);
13 | echo "";
14 | ?>
--------------------------------------------------------------------------------
/filters/range_validate.php:
--------------------------------------------------------------------------------
1 | [
7 | 'min_range' => -10,
8 | 'max_range' => 10,
9 | ]
10 | ];
11 |
12 | if(filter_var($first, FILTER_VALIDATE_INT, $options))
13 | echo "$first входит в диапазон -10 .. 10
";
14 | else
15 | echo "$first не входит в диапазон -10 .. 10
";
16 |
17 | if(filter_var($second, FILTER_VALIDATE_INT, $options))
18 | echo "$second входит в диапазон -10 .. 10
";
19 | else
20 | echo "$second не входит в диапазон -10 .. 10
";
21 | ?>
--------------------------------------------------------------------------------
/filters/regexp_validate.php:
--------------------------------------------------------------------------------
1 | [
9 | 'regexp' => "/^ch\d+$/"
10 | ]
11 | ];
12 |
13 | if(filter_var($first, FILTER_VALIDATE_REGEXP, $options))
14 | echo "$first корректный идентификатор главы
";
15 | else
16 | echo "$first некорректный идентификатор главы
";
17 |
18 | if(filter_var($second, FILTER_VALIDATE_REGEXP, $options))
19 | echo "$second корректный идентификатор главы
";
20 | else
21 | echo "$second некорректный идентификатор главы
";
22 | ?>
--------------------------------------------------------------------------------
/filters/special_chars_sanitize.php:
--------------------------------------------------------------------------------
1 | Заголовок
4 | Первый параграф, посвященный "проверке"
5 | MARKER;
6 | echo "";
7 | echo filter_var($str, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
8 | echo "
";
9 | ?>
--------------------------------------------------------------------------------
/forms/cookie.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/forms/dump.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Выводит все глобальные переменные
5 |
6 |
7 |
8 |
9 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/forms/form.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Cтраница с формой
5 |
6 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/forms/hello.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Использование данных формы
5 |
6 |
7 |
8 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/forms/ip.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Вывод IP-адреса и браузера пользователя
5 |
6 |
7 |
8 | Ваш IP-адрес: = $_SERVER['REMOTE_ADDR'] ?>
9 | Ваш браузер: = $_SERVER['HTTP_USER_AGENT'] ?>
10 |
11 |
12 |
--------------------------------------------------------------------------------
/forms/qs.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Вывод параметров командной строки
5 |
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/fpm/php-fpm.conf:
--------------------------------------------------------------------------------
1 | [global]
2 | pid = /var/run/php5-fpm.pid
3 | error_log = /var/log/php5-fpm.log
4 | emergency_restart_threshold = 0
5 | emergency_restart_interval = 0
6 | include = /etc/php5/fpm/pool.d/*.conf
7 |
--------------------------------------------------------------------------------
/fpm/pool.d/example.com.conf:
--------------------------------------------------------------------------------
1 | [example.com]
2 |
3 | user = www-data
4 | group = www-data
5 |
6 | listen = /var/www/$pool/fastcgi.sock
7 |
8 | listen.owner = www-data
9 | listen.group = www-data
10 |
11 | pm = dynamic
12 | pm.max_children = 5
13 | pm.start_servers = 2
14 | pm.min_spare_servers = 1
15 | pm.max_spare_servers = 3
16 |
17 | security.limit_extensions = .php .php3 .php4 .php5
18 |
19 | php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@example.com
20 | php_admin_value[error_log] = /var/log/fpm-php/$pool.www.log
21 | php_admin_flag[log_errors] = on
22 | php_admin_value[memory_limit] = 32M
23 |
--------------------------------------------------------------------------------
/fpm/pool.d/example.net.conf:
--------------------------------------------------------------------------------
1 | [net.com]
2 |
3 | user = www-data
4 | group = www-data
5 |
6 | listen = /var/www/$pool/fastcgi.sock
7 |
8 | listen.owner = www-data
9 | listen.group = www-data
10 |
11 | pm = dynamic
12 | pm.max_children = 5
13 | pm.start_servers = 2
14 | pm.min_spare_servers = 1
15 | pm.max_spare_servers = 3
16 |
17 | security.limit_extensions = .php .php3 .php4 .php5
18 |
19 | php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@example.com
20 | php_admin_value[error_log] = /var/log/fpm-php/$pool.www.log
21 | php_admin_flag[log_errors] = on
22 | php_admin_value[memory_limit] = 32M
23 |
--------------------------------------------------------------------------------
/fpm/sites-available/example.com:
--------------------------------------------------------------------------------
1 | upstream example_com {
2 | server unix:/var/www/example.com/fastcgi.sock fail_timeout=0;
3 | }
4 | server {
5 | listen 80;
6 | root /var/www/example.com/www;
7 | access_log /var/www/example.com/log/access.log;
8 | error_log /var/www/example.com/log/error.log;
9 |
10 | server_name example.com www.example.com;
11 |
12 | include /etc/nginx/templates/default;
13 |
14 | location ~* \.php$ {
15 | fastcgi_pass example_com;
16 | include fastcgi_params;
17 | fastcgi_index index.php;
18 | }
19 | }
--------------------------------------------------------------------------------
/fpm/sites-available/example.net:
--------------------------------------------------------------------------------
1 | upstream example_net {
2 | server unix:/var/www/example.net/fastcgi.sock fail_timeout=0;
3 | }
4 | server {
5 | listen 80;
6 | root /var/www/example.net/www;
7 | access_log /var/www/example.net/log/access.log;
8 | error_log /var/www/example.net/log/error.log;
9 |
10 | server_name example.net www.example.net;
11 |
12 | include /etc/nginx/templates/default;
13 |
14 | location ~* \.php$ {
15 | fastcgi_pass example_net;
16 | include fastcgi_params;
17 | fastcgi_index index.php;
18 | }
19 | }
--------------------------------------------------------------------------------
/func/anonim.php:
--------------------------------------------------------------------------------
1 | \n"; // выводим элемент
6 | }
7 | };
8 | // Вызов функции
9 | $myecho("Меркурий", "Венера", "Земля", "Марс");
10 | ?>
--------------------------------------------------------------------------------
/func/anpar.php:
--------------------------------------------------------------------------------
1 | \n";
19 | }
20 | }, ...$planets);
21 | ?>
--------------------------------------------------------------------------------
/func/byref.php:
--------------------------------------------------------------------------------
1 | ";
5 | $a++;
6 | echo "После увеличения: $a
";
7 | }
8 | # ...
9 | $num = 10;
10 | echo "Начальное значение: $num
";
11 | increment($num); // передача по ссылке
12 | echo "После вызова функции: $num
"; // 11!
13 | ?>
--------------------------------------------------------------------------------
/func/byval.php:
--------------------------------------------------------------------------------
1 | ";
5 | $a++;
6 | echo "После увеличения: $a
";
7 | }
8 | # ...
9 | $num = 10;
10 | echo "Начальное значение: $num
";
11 | increment($num);
12 | echo "После вызова функции: $num
";
13 | ?>
--------------------------------------------------------------------------------
/func/closure.php:
--------------------------------------------------------------------------------
1 | ";
3 | $check = function(array $errors) use ($message)
4 | {
5 | if (isset($errors) && count($errors) > 0) {
6 | echo $message;
7 | foreach($errors as $error) {
8 | echo "$error
";
9 | }
10 | }
11 | };
12 |
13 | $check([]);
14 | // ...
15 | $erorrs[] = "Заполните имя пользователя";
16 | $check($erorrs);
17 | // ...
18 | $message = "Список требований"; // Уже не изменить
19 | $erorrs = ["PHP", "MySQL", "memcache"];
20 | $check($erorrs);
21 | ?>
--------------------------------------------------------------------------------
/func/dumperEx.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/func/func_get_args.php:
--------------------------------------------------------------------------------
1 | \n"; // выводим элемент
6 | }
7 | }
8 | // отображаем строки одну под другой
9 | myecho("Меркурий", "Венера", "Земля", "Марс");
10 | ?>
--------------------------------------------------------------------------------
/func/global.php:
--------------------------------------------------------------------------------
1 | "Январь",
4 | 2 => "Февраль",
5 | // ...
6 | 12 => "Декабрь"
7 | ];
8 | // Возвращает название месяца по его номеру. Нумерация начинается с 1!
9 | function getMonthName($n)
10 | {
11 | global $monthes;
12 | return $monthes[$n];
13 | }
14 | // Применение.
15 | echo getMonthName(2); // выводит "Февраль"
16 | ?>
--------------------------------------------------------------------------------
/func/local.php:
--------------------------------------------------------------------------------
1 | "; // выводит его на экран
6 | // Эта $i не имеет к глобальной $i никакого отношения!
7 | }
8 | // Выводит в цикле 10 случайных чисел.
9 | for ($i = 0; $i != 10; $i++) silly();
10 | echo PHP_OS;
11 | ?>
--------------------------------------------------------------------------------
/func/nested.php:
--------------------------------------------------------------------------------
1 | ";
5 | function child($b) {
6 | echo $b + 1, "
";
7 | return $b * $b;
8 | }
9 | return $a * $a * child($a);
10 | // фактически возвращает $a * $a * ($a+1) * ($a+1)
11 | }
12 | // Вызываем функции.
13 | father(10);
14 | child(30);
15 | // Попробуйте теперь ВМЕСТО этих двух вызовов поставить такие
16 | // же, но только в обратном порядке. Что, выдает ошибку?
17 | // Почему, спрашиваете? Читайте дальше!
18 | ?>
--------------------------------------------------------------------------------
/func/retnull.php:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/func/retref.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/func/return.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/func/static.php:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/func/stricttypes.php:
--------------------------------------------------------------------------------
1 | =7
9 | ?>
--------------------------------------------------------------------------------
/func/toomanyargs.php:
--------------------------------------------------------------------------------
1 | ";
5 | echo "Второй параметр: $snd
";
6 | echo "Третий параметр: $thd
";
7 | echo "Четвертый параметр: $fth
";
8 | }
9 | // отображаем строки одну под другой
10 | $planets = ["Меркурий", "Венера", "Земля", "Марс"];
11 | toomanyargs(...$planets);
12 | ?>
--------------------------------------------------------------------------------
/func/types.php:
--------------------------------------------------------------------------------
1 | =7
8 | ?>
--------------------------------------------------------------------------------
/func/unset.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/func/varargs.php:
--------------------------------------------------------------------------------
1 | \n"; // выводим элемент
6 | }
7 | }
8 | // отображаем строки одну под другой
9 | myecho("Меркурий", "Венера", "Земля", "Марс");
10 | ?>
--------------------------------------------------------------------------------
/func/varargsold.php:
--------------------------------------------------------------------------------
1 | \n"; // выводим элемент
5 | }
6 | }
7 | // отображаем строки одну под другой
8 | myecho("Меркурий", "Венера", "Земля", "Марс");
9 | ?>
--------------------------------------------------------------------------------
/func/virtual.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/funcarr/array_flip.php:
--------------------------------------------------------------------------------
1 | "Silver",
4 | "Grant" => "Hill",
5 | "Andrew" => "Mason",
6 | ];
7 | $names = array_flip($names);
8 | print_r($names);
9 | // Array([Silver]=>Joel [Hill]=>Grant [Mason]=>Andrew)
10 | ?>
--------------------------------------------------------------------------------
/funcarr/array_intersect.php:
--------------------------------------------------------------------------------
1 | red [2]=>green)
7 | ?>
--------------------------------------------------------------------------------
/funcarr/array_reverse.php:
--------------------------------------------------------------------------------
1 | "Zero",
4 | "b" => "Weapon",
5 | "c" => "Alpha",
6 | "d" => "Processor"
7 | ];
8 | asort($A);
9 | $A = array_reverse($A);
10 | print_r($A);
11 | // Array([a]=>Zero [b]=>Weapon [d]=>Processor [c]=>Alpha)
12 | ?>
--------------------------------------------------------------------------------
/funcarr/asort.php:
--------------------------------------------------------------------------------
1 | "Zero",
4 | "b" => "Weapon",
5 | "c" => "Alpha",
6 | "d" => "Processor"
7 | ];
8 | asort($A);
9 | print_r($A);
10 | // Array([c]=>Alpha [d]=>Processor [b]=>Weapon [a]=>Zero)
11 | // как видим, поменялся только порядок пар ключ=>значение
12 | ?>
--------------------------------------------------------------------------------
/funcarr/json_answer.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/funcarr/json_decode.php:
--------------------------------------------------------------------------------
1 | "; print_r($arr); echo "";
5 | ?>
--------------------------------------------------------------------------------
/funcarr/json_encode.php:
--------------------------------------------------------------------------------
1 | "Иван Иванов",
4 | "phones" => [
5 | "916 153 2854",
6 | "916 643 8420"
7 | ]
8 | ];
9 | echo json_encode($arr, JSON_UNESCAPED_UNICODE );
10 | ?>
--------------------------------------------------------------------------------
/funcarr/json_index.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Передача JSON-данных
5 |
6 |
7 |
8 |
9 |
10 | Здравствуйте!
11 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/funcarr/ksort.php:
--------------------------------------------------------------------------------
1 | "Alpha",
4 | "a" => "Zero",
5 | "d" => "Processor",
6 | "b" => "Weapon",
7 | ];
8 | ksort($A);
9 | print_r($A);
10 | // Array([a]=>Zero [b]=>Weapon [c]=>Alpha [d]=>Processor)
11 | ?>
--------------------------------------------------------------------------------
/funcarr/merge.php:
--------------------------------------------------------------------------------
1 | red [1]=>yellow [2]=>green [3]=>cyan [6]=>blue)
7 | ?>
--------------------------------------------------------------------------------
/funcarr/natsort.php:
--------------------------------------------------------------------------------
1 | "; print_r($files);
11 | ?>
--------------------------------------------------------------------------------
/funcarr/shuffle.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/funcarr/sort.php:
--------------------------------------------------------------------------------
1 | Four [1]=>One [2]=>Three [3]=>Two)
6 | ?>
--------------------------------------------------------------------------------
/funcarr/sort1.php:
--------------------------------------------------------------------------------
1 | "Zero",
4 | "b" => "Weapon",
5 | "c" => "Alpha",
6 | "d" => "Processor"
7 | ];
8 | sort($A);
9 | print_r($A);
10 | // Array([0]=>Alpha [1]=>Processor [2]=>Weapon [3]=>Zero)
11 | ?>
--------------------------------------------------------------------------------
/funcarr/usort.php:
--------------------------------------------------------------------------------
1 | Four [1]=>One [2]=>Three [3]=>Two)
6 | ?>
--------------------------------------------------------------------------------
/gd/button.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/button.gif
--------------------------------------------------------------------------------
/gd/pen.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/gd/random.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/gd/resample.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/gd/sample00.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample00.gif
--------------------------------------------------------------------------------
/gd/sample01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample01.gif
--------------------------------------------------------------------------------
/gd/sample02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample02.png
--------------------------------------------------------------------------------
/gd/sample03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample03.jpg
--------------------------------------------------------------------------------
/gd/sample1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample1.jpg
--------------------------------------------------------------------------------
/gd/sample2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample2.jpg
--------------------------------------------------------------------------------
/gd/sample3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample3.jpg
--------------------------------------------------------------------------------
/gd/sample4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample4.jpg
--------------------------------------------------------------------------------
/gd/sample5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample5.jpg
--------------------------------------------------------------------------------
/gd/times.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/times.ttf
--------------------------------------------------------------------------------
/gd/transparent.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/gd/transparent.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/array.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/collect.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/combine.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/combine_from.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/keys.php:
--------------------------------------------------------------------------------
1 | $value) {
5 | yield $key => $callback($value);
6 | }
7 | }
8 |
9 | $arr = [
10 | "first" => 1,
11 | "second" => 2,
12 | "third" => 3,
13 | "fourth" => 4,
14 | "fifth" => 5,
15 | "sixth" => 6];
16 | $collect = collect($arr, function($e){ return $e * $e; });
17 | foreach($collect as $key => $val) echo "$val ($key) ";
18 | ?>
--------------------------------------------------------------------------------
/generators/makerange_bad.php:
--------------------------------------------------------------------------------
1 | ";
15 | ?>
--------------------------------------------------------------------------------
/generators/makerange_good.php:
--------------------------------------------------------------------------------
1 | ";
13 | ?>
--------------------------------------------------------------------------------
/generators/object.php:
--------------------------------------------------------------------------------
1 | ";
6 | yield $i;
7 | }
8 | }
9 | $generator = simple();
10 | echo gettype($generator); // object
11 | ?>
12 |
--------------------------------------------------------------------------------
/generators/ref.php:
--------------------------------------------------------------------------------
1 | 0) {
6 | yield $value;
7 | }
8 | }
9 |
10 | foreach (reference() as &$number) {
11 | echo (--$number).' ';
12 | }
13 | ?>
--------------------------------------------------------------------------------
/generators/reject.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/return.php:
--------------------------------------------------------------------------------
1 | ";
20 | }
21 | echo "return = ".$generator->getReturn();
22 | ?>
--------------------------------------------------------------------------------
/generators/select.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/generators/send.php:
--------------------------------------------------------------------------------
1 | send("Hello, world!
");
12 | $block->send("Hello, PHP!
");
13 | ?>
--------------------------------------------------------------------------------
/generators/simple.php:
--------------------------------------------------------------------------------
1 | ";
6 | yield $i;
7 | }
8 | }
9 |
10 | foreach(simple() as $val) {
11 | echo "квадрат = ".($val * $val)."
";
12 | if ($val >= 5) break;
13 | }
14 | ?>
--------------------------------------------------------------------------------
/generators/yield.php:
--------------------------------------------------------------------------------
1 | ";
5 | yield 1;
6 | echo "перед вторым yield
";
7 | yield 2;
8 | echo "перед третьим yield
";
9 | yield 3;
10 | echo "после третьего yield
";
11 | }
12 |
13 | foreach(generator() as $i) {
14 | echo "$i
";
15 | }
16 | ?>
--------------------------------------------------------------------------------
/inherit/File/Logger.php:
--------------------------------------------------------------------------------
1 | name = $name;
11 | $this->f = fopen($fname, "a+");
12 | }
13 | public function __destruct()
14 | {
15 | fputs($this->f, join("", $this->lines));
16 | fclose($this->f);
17 | }
18 | public function log($str)
19 | {
20 | $prefix = "[".date("Y-m-d_h:i:s ")."{$this->name}] ";
21 | $str = preg_replace('/^/m', $prefix, rtrim($str));
22 | $this->lines[] = $str."\n";
23 | }
24 | }
25 | ?>
--------------------------------------------------------------------------------
/inherit/abstract.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inherit/anonym.php:
--------------------------------------------------------------------------------
1 | title = "Hello world!";
14 | }
15 | });
16 | ?>
--------------------------------------------------------------------------------
/inherit/anonym_nested.php:
--------------------------------------------------------------------------------
1 | title) extends Container
10 | {
11 |
12 | private $name;
13 |
14 | public function __construct($title)
15 | {
16 | $this->name = $title;
17 | }
18 |
19 | public function print()
20 | {
21 | echo "{$this->name} ({$this->id})";
22 | }
23 | };
24 | }
25 | }
26 |
27 | (new Container)->anonym()->print();
28 | ?>
--------------------------------------------------------------------------------
/inherit/final.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inherit/inherit.php:
--------------------------------------------------------------------------------
1 | log("Обычное сообщение");
5 | $logger->debug("Отладочное сообщение");
6 | ?>
--------------------------------------------------------------------------------
/inherit/inherit0.php:
--------------------------------------------------------------------------------
1 | log("Обычное сообщение");
5 | $logger->debug("Отладочное сообщение");
6 | ?>
--------------------------------------------------------------------------------
/inherit/inherit0cast.php:
--------------------------------------------------------------------------------
1 | log($msg);
11 | exit();
12 | }
13 | ?>
--------------------------------------------------------------------------------
/inherit/inherit_static.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inherit/pages/cast.php:
--------------------------------------------------------------------------------
1 | render();
6 | }
7 | $shape = new StaticPage(3);
8 | echoPage($shape);
9 | ?>
10 |
--------------------------------------------------------------------------------
/inherit/pages/instanceof.php:
--------------------------------------------------------------------------------
1 | ");
8 | $obj->render();
9 | }
10 | $page = new StaticPage(3);
11 | echoPage($page);
12 | ?>
--------------------------------------------------------------------------------
/inherit/pages/test.php:
--------------------------------------------------------------------------------
1 | render();
7 | echo $page->id($id);
8 | ?>
--------------------------------------------------------------------------------
/inherit/static.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inherit/traits_inherit.php:
--------------------------------------------------------------------------------
1 | ";
5 | }
6 | public function authors() {
7 | echo "Page::authors
";
8 | }
9 | }
10 |
11 | trait Author {
12 | public function tags() {
13 | echo "Author::tags
";
14 | }
15 | public function authors() {
16 | echo "Author::authors
";
17 | }
18 | }
19 |
20 | class News extends Page
21 | {
22 | use Author;
23 |
24 | public function authors() {
25 | echo "News::authors
";
26 | }
27 | }
28 |
29 | $news = new News();
30 | $news->authors(); // News::authors
31 | $news->tags(); // Author::tags
32 | ?>
--------------------------------------------------------------------------------
/instruct/for.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/instruct/foreach.php:
--------------------------------------------------------------------------------
1 | $v)
3 | echo "$k => $v
\n";
4 | ?>
5 |
--------------------------------------------------------------------------------
/instruct/goto.php:
--------------------------------------------------------------------------------
1 | ";
6 | if ($i >= 10) goto finish;
7 | goto begin;
8 | finish:
9 | ?>
--------------------------------------------------------------------------------
/instruct/ifelse.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Альтернативный синтаксис if-else.
5 |
6 |
7 |
8 |
9 | Привет, =$_REQUEST['name']?>!
10 |
11 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/instruct/require/foot.html:
--------------------------------------------------------------------------------
1 |
2 | ©Warner Bros., 1999.
3 |