<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="Adobe RoboHelp - www.adobe.com">
<title>Semantic Analysis Preferences</title>
<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
<!--
if (navigator.appName !="Netscape")
{   document.write("<link rel='stylesheet' href='default.css'>");}
//-->
</script>
<style>
<!--
body { border-left-style:None; border-right-style:None; border-bottom-style:None; background-color:Transparent; border-top-style:None; }
-->
</style><style type="text/css">
<!--
h1.whs1 { color:#00709e; }
img_whs2 { border:none; width:392px; height:381px; float:none; border-style:none; }
table.whs3 { x-cell-content-align:top; width:100%; border-spacing:0px; }
col.whs4 { width:7.093%; }
col.whs5 { width:92.907%; }
tr.whs6 { x-cell-content-align:top; }
td.whs7 { width:7.093%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }
p.whs8 { font-size:6pt; }
td.whs9 { width:92.907%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }
p.whs10 { font-weight:bold; }
td.whs11 { width:7.093%; padding-right:10px; padding-left:10px; border-left-style:none; border-right-style:none; border-bottom-style:none; }
img_whs12 { border:none; width:28px; height:33px; float:none; border-style:none; }
td.whs13 { width:92.907%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; }
ol.whs14 { list-style:decimal; }
img_whs15 { border:none; width:17px; height:15px; float:none; border-style:none; }
p.whs16 { font-weight:normal; }
td.whs17 { width:100%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; }
table.whs18 { x-cell-content-align:top; width:100%; x-condition:Online; border-spacing:0px; }
tr.whs19 { x-cell-content-align:top; x-condition:Online; }
td.whs20 { width:7.093%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-bottom-style:none; border-top-style:none; x-condition:Online; }
td.whs21 { width:92.907%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-top-style:none; x-condition:Online; }
td.whs22 { width:7.093%; padding-right:10px; padding-left:10px; border-left-style:none; border-right-style:none; border-bottom-style:none; x-condition:Online; }
img_whs23 { border:none; width:28px; height:18px; float:none; x-condition:Online; border-style:none; }
td.whs24 { width:92.907%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; x-condition:Online; }
p.whs25 { x-condition:Online; }
div.whs26 { width:100%; }
p.whs27 { text-align:right; x-condition:Product, Online; }
p.whs28 { text-align:right; x-condition:Online; }
p.whs29 { text-align:center; x-condition:PDT; text-decoration:underline; }
-->
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
<!--
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
	origWidth = innerWidth;
	origHeight = innerHeight;
	onresize = reDo;
}
onerror = null; 
//-->
</script>
<style type="text/css">
<!--
div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
p.WebHelpNavBar { text-align:right; }
-->
</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whlang.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
<script type="text/javascript" language="javascript1.2">
<!--
if (window.gbWhTopic)
{
	if (window.setRelStartPage)
	{
	
	}


	if(1)
	{
	
	}

	if (window.setRelStartPage)
	{
	setRelStartPage("IDE_Help.htm");

		autoSync(1);
		sendSyncInfo();
		sendAveInfoOut();
	}

}
else
	if (window.gbIE4)
		document.location.reload();
//-->
</script>
</head>
<body leftmargin="5" topmargin="5" rightmargin="5" bottommargin="5"><script type="text/javascript" language="javascript1.2">
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
</script>
<h1 class="whs1">Semantic Analysis Preferences</h1>
<p>Semantic Analysis enables warning and error messages to be displayed 
 when PDT 
 detects possible errors or problems in your script.</p>
<p>&nbsp;</p>
<p>The Semantic Analysis Preferences 
 page is accessed from Window | Preferences | PHP | Semantic Analysis.</p>
<p class=Note>Note:</p>
<p class=NoteText>See Code Analyzer Preferences 
 for further options on configuring the severity of error messages.</p>
<p class=picture><img src="semantic_analysis_preferences.png" x-maintain-ratio="TRUE" width="392px" height="381px" border="0" class="img_whs2"></p>
<table x-use-null-cells cellspacing="0" width="100%" class="whs3">
<col class="whs4">
<col class="whs5">

<tr valign="top" class="whs6">
<td colspan="1" rowspan="1" width="7.093%" class="whs7">
<p class="whs8">&nbsp;</td>
<td colspan="1" rowspan="1" width="92.907%" class="whs9">
<p class="whs10">&nbsp;</td></tr>
<tr valign="top" class="whs6">
<td width="7.093%" class="whs11">
<p class="whs8"><img src="ref_icon.png" x-maintain-ratio="TRUE" alt="Instructions on how to complete a procedure" width="28px" height="33px" border="0" class="img_whs12"></td>
<td width="92.907%" class="whs13">
<p class=ListBullet1 style="font-weight: bold;">To enable and configure 
 Semantic Analysis for all projects:</p>
<ol type="1" class="whs14">
	<li style="margin-left: -20px;" class=p><p>Mark the 'Enable Semantic 
 Analysis' checkbox. </p></li>
	<li style="margin-left: -20px;" class=p><p>Select the severity level 
 displayed in error messages (warning, ignore or error) for a variety of 
 occurrences, divided into the following categories:</p></li>
	<li class=p-ListBullet1><p class=ListBullet1>Compile Errors</p></li>
	<li class=p-ListBullet1><p class=ListBullet1>Potential Programmer Problems</p></li>
</ol>
<p class=ListBullet1 style="margin-left: 24px;">To select a severity level 
 for an event, click the <img src="code_analyzer_arrow.png" x-maintain-ratio="TRUE" width="17px" height="15px" border="0" class="img_whs15"> arrow next to each header to display the 
 possible options (if not displayed) and select the severity level from 
 the drop-down list next to each option.</p>
<ol start="3" type="1" class="whs14">
	<li style="margin-left: -20px;" class=p><p>Click Apply to apply your 
 settings.<br>
	A prompt dialog is displayed indicating that a rebuild of the project 
 must occur for the settings to take effect.</p></li>
	<li style="margin-left: -20px;  font-weight: normal; " class=p><p class="whs16">Click 
 Yes to rebuild the project. Click No for a rebuild to be performed only 
 when Zend Studio is restarted. Click Cancel to cancel the operation.</p></li>
</ol></td></tr>
<tr valign="top" class="whs6">
<td rowspan="1" colspan="2" width="100%" class="whs17">
<p>&nbsp;</td>
</tr>
</table>
<table x-use-null-cells cellspacing="0" width="100%" class="whs3">
<col class="whs4">
<col class="whs5">

<tr valign="top" class="whs6">
<td colspan="1" rowspan="1" width="7.093%" class="whs7">
<p class="whs8">&nbsp;</td>
<td colspan="1" rowspan="1" width="92.907%" class="whs9">
<p class="whs10">&nbsp;</td></tr>
<tr valign="top" class="whs6">
<td width="7.093%" class="whs11">
<p class="whs8"><img src="ref_icon.png" x-maintain-ratio="TRUE" alt="Instructions on how to complete a procedure" width="28px" height="33px" border="0" class="img_whs12"></td>
<td width="92.907%" class="whs13">
<p class="whs10">To apply Semantic Analysis Preferences 
 settings to a specific project only:</p>
<ol type="1" class="whs14">
	<li style="margin-left: -20px;" class=p><p>Select the link labelled 
 &quot;Configure Project Specific Settings&quot;.</p></li>
	<li style="margin-left: -20px;" class=p><p>Select the required project 
 from the list.<br>
	A Semantic Analysis Properties page will appear.</p></li>
	<li style="margin-left: -20px;" class=p><p>Select the required settings 
 and click Apply.<br>
	A prompt dialog will appear stating that a rebuild of the project must 
 occur for the settings to take effect.</p></li>
	<li style="margin-left: -20px;" class=p><p>Click Yes to rebuild the 
 project.<br>
	-Or- click No for a rebuild to be performed only when PDT 
 is restarted.<br>
	-Or- click Cancel to cancel the operation.</p></li>
</ol></td></tr>
<tr valign="top" class="whs6">
<td rowspan="1" colspan="2" width="100%" class="whs17">
<p class=Note>Note:</p>
<p class=NoteText>Semantic Analysis settings can also be configured for 
 an existing project by right-clicking the project in PHP Explorer view 
 and selecting Properties | Semantic Analysis Properties.</td>
</tr>
</table>
<table x-use-null-cells cellspacing="0" width="100%" class="whs18">
<col class="whs4">
<col class="whs5">

<tr valign="top" class="whs19">
<td colspan="1" rowspan="1" width="7.093%" class="whs20">
<p class="whs8">&nbsp;</td>
<td colspan="1" rowspan="1" width="92.907%" class="whs21">
<p>&nbsp;</td></tr>
<tr valign="top" class="whs19">
<td width="7.093%" class="whs22">
<p class="whs8"><img src="link_icon.png" x-maintain-ratio="TRUE" alt="Related Links" width="28px" height="18px" border="0" class="img_whs23"></td>
<td width="92.907%" class="whs24">
<p class="whs10">Related Links:</p>
<p class="whs16">Code 
 Analyzer Preferences</p>
<p class="whs25"><a href="real_time_error_detection.htm" 
 style="x-condition: Online;">Real Time Error Detection</a></p>
<p class="whs25"><a href="preferences.htm">PHP Preferences</a></td></tr>
<tr valign="top" class="whs19">
<td colspan="1" rowspan="1" width="7.093%" class="whs22">
<p class="whs8">&nbsp;</td>
<td colspan="1" rowspan="1" width="92.907%" class="whs24">
<p>&nbsp;</td></tr>
</table>
<div placeholder id="footer" class="whs26">
 <p align="right" class="whs27"><span 
 style="background-color: #ffffff; x-condition: Online, Product;">V</span>iew 
 the Zend Product <a href="http://www.zend.com/en/resources/zend-documentation/zend-studio/zend-studio.htm" 
 style="color: #000000; x-condition: Product, Online;">Online Documentation</a> 
 for the most up-to-date information.</p>
 <p align="right" class="whs28"><span style="background-color: #ffffff;"><a 
 href="javascript:crlf=&quot;
&quot;;h=location.href;t=document.title;e = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (e!=null) location=&quot;mailto:documentation@zend.com&quot; + &quot;?Subject= Feedback on &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0" 
 style="x-condition: Online;">Submit Documentation Feedback</a></span></p>
 <p align="center" class="whs29">PHP Development 
 Tools</p>
 </div>
<script type="text/javascript" language="javascript1.2">
<!--
highlightSearch();
if (window.writeIntopicBar)
	writeIntopicBar(0);
if(0)
{

}
//-->
</script>
</body>
</html>
