﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="generator" content="Adobe RoboHelp 8">
<title>Expressions View [PHP Debug Perspective]</title>
<link rel="StyleSheet" href="default.css" type="text/css">
<style type="text/css">
<!--
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">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
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">//<![CDATA[
<!--
if (window.gbWhTopic)
{
	var strUrl = document.location.href;
	var bc = 0;
	var n = strUrl.toLowerCase().indexOf("bc-");
	if(n != -1)
	{
		document.location.href = strUrl.substring(0, n);
		bc = strUrl.substring(n+3);
	}

	if (window.setRelStartPage)
	{
	addTocInfo("Reference\nPHP Perspectives and Views\nPHP Debug Perspective\nExpressions View [PHP Debug Perspective]");
addAvenueInfo("Reference","browser_output_view.htm","php_functions_view.htm");

	}

	document.write("<p style=\"text-align:left\"> ");
AddMasterBreadcrumbs("ide_help.htm", "", "&gt;", "Home", "pdt_table_of_contents.htm");
document.write("<a href=\"reference.htm\">Reference<\/a> &gt; <a href=\"php_perspectives_and_views.htm\">PHP Perspectives and Views<\/a> &gt; <a href=\"php_debug_perspective.htm\">PHP Debug Perspective<\/a> &gt; Expressions View [PHP Debug Perspective]<\/p>");


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

		autoSync(0);
		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">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
//]]></script>
<div style="width: 100%; position: relative;" id="header">
	
	
 <p align="right"><a 
	 title="Documentation Survey" href="http://spreadsheets.google.com/viewform?formkey=dC1scEswTjFia2tDQ3Y5TVJBbkNQcWc6MQ">Documentation 
	 Survey</a> 
	 | <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 PDT for page &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0"><span 
	 style="background-color: #ffffff;">Submit Documentation</span><span 
	 style="background-color: #ffffff;"> Feedback</span></a><span 
	 style="background-color: #ffffff;"></span><span style="background-color: #ffffff;"> 
	 </span><span style="background-color: #ffffff;">| 
	 </span><span 
	 style="background-color: #ffffff;"><a title="View Latest Version and Get PDF Online" 
											 href="http://www.zend.com/en/resources/zend-documentation/" 
											 target="_blank">View Latest 
	 Version and Get PDF Online</a></span></p>
</div>


<h1>Expressions View [PHP Debug Perspective] 
 </h1>
<p>&#160;</p>
<p>The Expressions view will not open by default when a debugging session 
 is launched, but only when you have selected to watch a variable or create 
 a watch expression.</p>
<p>To watch a variable, right-click a variable in the editor or from the 
 variables view and select <span style="font-weight: bold;"><b>Watch</b></span> 
 or <span style="font-weight: bold;"><b>Add Watch Expression</b></span>. The Expressions 
 view will open and the variable will be added to it. The variable's information 
 will be updated as the debugging process continues.</p>
<p class="Note">Note:</p>
<p class="NoteText">To manually open the Expressions view, go to <span 
	 style="font-weight: bold;"><b>Window | Show View | Debug | Expressions</b></span>.</p>
<p>The Expressions view allows you to monitor certain variables which you 
 have decided to 'watch' during the debugging process. Selecting a variable 
 will display details in the detail pane below the view. Expanding the 
 list under a variable will display its fields.</p>
<p class="picture"><img src="watch_expression_view.png" alt="Expressions View" title="Expressions View" style="border: none;" width="276" height="226" border="0"></p>
<p class="Strong">Expressions View Toolbar Commands</p>
<table cellspacing="0" width="89.975%">
	<col style="width: 8.987%;">
	<col style="width: 24.03%;">
	<col style="width: 66.272%;">
	<tr style="vertical-align: top;">
		<td style="border: Solid 1px #000000; width: 8.987%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Icon</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 24.03%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Name</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 66.272%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 8.987%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="variables_view_show_type_names.png" alt="variables_view_show_type_names.png" style="border: none;" width="25" height="23" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 24.03%; padding-right: 10px; padding-left: 10px;"><p>Show 
		 Type Names</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 66.272%; padding-right: 10px; padding-left: 10px;"><p>Displays 
		 type names</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 8.987%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="variables_view_show_logical_structure.png" alt="variables_view_show_logical_structure.png" style="border: none;" width="23" height="22" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 24.03%; padding-right: 10px; padding-left: 10px;"><p>Show 
		 Logical Structure</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 66.272%; padding-right: 10px; padding-left: 10px;"><p>Displays 
		 the logical structure.</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 8.987%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="collapse_all_icon.png" alt="collapse_all_icon.png" style="border: none;" width="24" height="21" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 24.03%; padding-right: 10px; padding-left: 10px;"><p>Collapse 
		 All</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 66.272%; padding-right: 10px; padding-left: 10px;"><p>Collapses 
		 the list.</p></td>
	</tr>
</table>
<p>&#160;</p>
<p class="Strong">Expressions View Menu Commands</p>
<p>The view's menu can be accessed through the view menu icon <img src="menu_icon.png" alt="menu_icon.png" style="border: none;" width="17" height="16" border="0">.</p>
<p>&#160;</p>
<p class="picture" align="left"><img src="expressions_view_menu.png" alt="expressions_view_menu.png" style="border: none;" width="214" height="73" border="0"></p>
<table cellspacing="0" width="90.583%">
	<col style="width: 12.062%;">
	<col style="width: 87.862%;">
	<tr style="vertical-align: top;">
		<td style="border: Solid 1px #000000; width: 12.062%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Name</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 87.862%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 12.062%; padding-right: 10px; 
			 padding-left: 10px;"><p>Layout</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 87.862%; padding-right: 10px; padding-left: 10px;"><p>Defines 
		 the view's layout:</p>
		<ul type="square">
			<li><p>Vertical View Orientation - The details pane will be 
			 displayed at the bottom of the Variables view.</p></li>
			<li><p>Horizontal View Orientation - The details pane will 
			 be displayed to the right of the Variables view.</p></li>
			<li><p>Expressions View Only - Only the Watched Variables pane 
			 &#160;will be displayed.</p></li>
		</ul></td>
	</tr>
</table>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top; 
											 height: 16px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
	<tr style="vertical-align: top; 
											 height: 35px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="link_icon.png" alt="link_icon.png" style="border: none;" width="32" height="40" border="0"> </p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">Related Links:</p>
		<p class="TableText"><a href="variables_view.htm">Variables View</a></p>
		<p style="font-weight: normal;"><a href="php_debug_perspective.htm"><span 
		 style="font-weight: normal;">PHP Debug Perspective</span> 
		 </a></p>
		<p><a href="debug_view.htm">Debug View</a></p>
		<p><a href="breakpoints_view.htm">Breakpoints View</a></p>
		<p><a href="parameter_stack.htm">Parameter Stack View</a></p>
		<p><a href="debug_output_view.htm">Debug Output View</a></p>
		<p><a href="browser_output_view.htm">Browser Output View</a></p></td>
	</tr>
	<tr style="vertical-align: top; 
											 height: 19px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
</table>
<div style="width: 100%; position: relative;" id="footer">
	
 <p style="text-decoration: underline; " 
										 align="center">PHP Development 
	 Tools</p>
	
	
</div>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);

highlightSearch();
//-->
//]]></script>
</body>
</html>
