<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration70.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'migration70.other-changes.php',
    1 => 'Sonstige &Auml;nderungen',
    2 => 'Sonstige &Auml;nderungen',
  ),
  'up' => 
  array (
    0 => 'migration70.php',
    1 => 'Migration von PHP 5.6.x nach PHP 7.0.x',
  ),
  'prev' => 
  array (
    0 => 'migration70.removed-exts-sapis.php',
    1 => 'Entfernte Erweiterungen und SAPIs',
  ),
  'next' => 
  array (
    0 => 'migration56.php',
    1 => 'Migration von PHP 5.5.x auf PHP 5.6.x',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'appendices/migration70/other-changes.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration70.other-changes" class="sect1">
 <h2 class="title">Sonstige Änderungen</h2>

 <div class="sect2" id="migration70.other-changes.loosening-reserved-words">
  <h3 class="title">Lockerung der Beschränkungen für reservierte Wörter</h3>

  <p class="para">
   Global reservierte Wörter sind nun innerhalb von Klassen, Schnittstellen
   und Traits als Namen für Eigenschaften, Konstanten und Methoden erlaubt.
   Dadurch werden Probleme mit der Abwärtskompatibilität verringert, wenn neue
   Schlüsselwörter eingeführt werden, und Einschränkungen bei der Namensgebung
   für APIs vermieden.
  </p>

  <p class="para">
   Dies ist besonders nützlich, um interne DSLs mit &quot;sprechenden&quot;
   Schnittstellen (Fluent Interfaces) zu erstellen:
  </p>
  <div class="informalexample">
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// 'new', 'private' und 'for' waren bisher nicht nutzbar.<br /></span><span style="color: #0000BB">Project</span><span style="color: #007700">::new(</span><span style="color: #DD0000">'Project Name'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">private</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">for</span><span style="color: #007700">(</span><span style="color: #DD0000">'purpose here'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">with</span><span style="color: #007700">(</span><span style="color: #DD0000">'username here'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>

  <p class="para">
   Die einzige Einschränkung dabei ist, dass das Schlüsselwort
   <code class="literal">class</code> immer noch nicht als Name für eine Konstante
   verwendet werden kann, da es sonst zu einem Konflikt mit der Syntax zur
   Auflösung von Klassennamen (<code class="literal">ClassName::class</code>) kommen
   würde.
  </p>
 </div>

 <div class="sect2" id="migration70.other-changes.remove-date-timezone-warning">
  <h3 class="title">Die Warnung bei date.timezone wurde entfernt</h3>

  <p class="para">
   Bisher wurde eine Warnung ausgegeben, wenn die INI-Einstellung
   <code class="systemitem systemitem">date.timezone</code> nicht vor der
   Verwendung von datums- oder zeitbasierten Funktionen gesetzt wurde. Nun
   wurde diese Warnung entfernt (wobei die Standardeinstellung für
   <code class="systemitem systemitem">date.timezone</code> immer noch UTC ist).
  </p>
 </div>
</div><?php manual_footer($setup); ?>