<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>deprecated PHP &#8212; ploshadka.net</title>
	<atom:link href="https://ploshadka.net/tag/deprecated-php/feed/" rel="self" type="application/rss+xml" />
	<link>https://ploshadka.net</link>
	<description>Мир интернет технологий</description>
	<lastBuildDate>Sun, 20 Dec 2020 10:01:01 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>
	<item>
		<title>Переписываем анонимные функции PHP</title>
		<link>https://ploshadka.net/perepisyvaem-anonimnye-funkcii-php/</link>
					<comments>https://ploshadka.net/perepisyvaem-anonimnye-funkcii-php/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Wed, 20 Nov 2019 08:00:26 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[create_function]]></category>
		<category><![CDATA[deprecated PHP]]></category>
		<category><![CDATA[PHP примеры и разбор]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=5399</guid>

					<description><![CDATA[В новых версия PHP create_function является устаревшей функцией (deprecated). Будет дан пример по переписыванию такой функции. create_function функция является небезопасной из-за того что она вызывает внутри себя функцию eval(). Будем менять её на примере одного из плагинов в WordPress Смотрим...]]></description>
										<content:encoded><![CDATA[<p>В новых версия PHP create_function является устаревшей функцией (deprecated). Будет дан пример по переписыванию такой функции. <span id="more-5399"></span></p>
<p><strong>create_function</strong> функция является небезопасной из-за того что она вызывает внутри себя функцию <strong>eval()</strong>. </p>
<p>Будем менять её на примере одного из плагинов в WordPress</p>
<p>Смотрим участок, видим там <strong>create_function</strong>:</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tags</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$post_tags</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'['</span> <span style="color: #339933;">.</span> <a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">,</span> <a href="http://www.php.net/array_map"><span style="color: #990000;">array_map</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/create_function"><span style="color: #990000;">create_function</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$v'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return &quot;\'&quot; . urlencode(substr($v, strpos($v, \'_\') + 1)) . &quot;\'&quot;;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tags</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">']'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$post_tags</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'[]'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Вот этот:</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><a href="http://www.php.net/create_function"><span style="color: #990000;">create_function</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$v'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return &quot;\'&quot; . urlencode(substr($v, strpos($v, \'_\') + 1)) . &quot;\'&quot;;'</span><span style="color: #009900;">&#41;</span></div></div>
<p>Переписываем его</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&nbsp; &nbsp;<span style="color: #000088;">$ploshadka</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$strop</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$substr</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #339933;">,</span> <span style="color: #000088;">$strop</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <a href="http://www.php.net/urlencode"><span style="color: #990000;">urlencode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$substr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div></div>
<p>Было</p>
<p><a href="https://ploshadka.net/wp-content/uploads/5399/was.jpg" rel="lightbox-0"><img wpfc-lazyload-disable="true" decoding="async" loading="lazy" src="https://ploshadka.net/wp-content/uploads/5399/was-600x112.jpg" alt="" width="600" height="112" class="aligncenter size-medium wp-image-5401" srcset="https://ploshadka.net/wp-content/uploads/5399/was-600x112.jpg 600w, https://ploshadka.net/wp-content/uploads/5399/was-1200x224.jpg 1200w, https://ploshadka.net/wp-content/uploads/5399/was-300x56.jpg 300w, https://ploshadka.net/wp-content/uploads/5399/was.jpg 1872w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<p>Стало<br />
<a href="https://ploshadka.net/wp-content/uploads/5399/now.jpg" rel="lightbox-1"><img wpfc-lazyload-disable="true" decoding="async" loading="lazy" src="https://ploshadka.net/wp-content/uploads/5399/now-600x228.jpg" alt="" width="600" height="228" class="aligncenter size-medium wp-image-5402" srcset="https://ploshadka.net/wp-content/uploads/5399/now-600x228.jpg 600w, https://ploshadka.net/wp-content/uploads/5399/now-1200x457.jpg 1200w, https://ploshadka.net/wp-content/uploads/5399/now-300x114.jpg 300w, https://ploshadka.net/wp-content/uploads/5399/now.jpg 1292w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<h2>Ошибка в плагине codecolorer</h2>
<blockquote><p>Fatal error: Uncaught Error: Call to undefined function create_function()<br />
in /wp-content/plugins/codecolorer/lib/geshi.php on line 4704</p></blockquote>
<p>Для исправления перепишем эту функцию:</p>
<div class="codecolorer-container python dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$callback_2 <span style="color: #66cc66;">=</span> create_function<span style="color: black;">&#40;</span><span style="color: #483d8b;">'$matches'</span><span style="color: #66cc66;">,</span> <span style="color: #483d8b;">'return &quot;[&quot; . str_replace(&quot;|&quot;, &quot;&quot;, $matches[1]) . &quot;]&quot;;'</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span></div></div>
<p>На эту:</p>
<div class="codecolorer-container python dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$callback_2 <span style="color: #66cc66;">=</span> function<span style="color: black;">&#40;</span>$matches<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;[&quot;</span> . <span style="color: black;">str_replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;|&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #483d8b;">&quot;&quot;</span><span style="color: #66cc66;">,</span> $matches<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> . <span style="color: #483d8b;">&quot;]&quot;</span><span style="color: #66cc66;">;</span><br />
<span style="color: black;">&#125;</span><span style="color: #66cc66;">;</span></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/perepisyvaem-anonimnye-funkcii-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
