﻿<!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>PHP Perspective Menus</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 Perspective Menus");
addAvenueInfo("Reference","php_perspectives_and_views.htm","php_perspective_main_toolbar.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; PHP Perspective Menus<\/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>PHP Perspective Menus 
 </h1>
<p>PDT 's 
 menu bars and toolbars offer a range of useful and easily accessible functionality.</p>
<p class="Note">Note:</p>
<p class="NoteText">The options available through the menu and toolbars 
 will vary depending on which perspective is currently active.<br>
To configure the menu options for the active perspective, go to Window 
 menu and select Customize Perspective.</p>
<p style="font-weight: bold;">The PHP Perspective will by default display 
 the following menu options:</p>
<table cellspacing="0" width="89.432%">
	<col style="width: 17.282%;">
	<col style="width: 82.718%;">
	<tr valign="top">
		<td style="border: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Menu Option</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 82.718%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="file.htm">File</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;">Carries out various functions 
		 on active files and folders, as well as organizing current files 
		 and creating new items.</p>
		<p style="font-style: normal; font-weight: bold;">The File menu 
		 options are:</p>
		<p style="font-style: normal;"><a href="new.htm">New</a>, Open 
		 File, Close, Close All, Save, Save As, Save All, Revert, Move, 
		 Rename, Refresh, Convert Line Delimeters To, Print, Switch Workspace, 
		 <a href="import.htm">Import</a>, <a href="export.htm">Export</a>, 
		 Properties, Last Viewed Files and Exit.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="edit.htm">Edit</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;">Normal text editing functionality, 
		 as well as features such as tasks and bookmarks which are specifically 
		 related to editing code.</p>
		<p style="font-style: normal; font-weight: bold;">The Edit menu 
		 options are:</p>
		<p>Undo Text Change, Redo Text Change, Cut, Copy, Paste, Delete, 
		 Select All, Find/Replace, Find Next, Find Previous, Incremental 
		 Find Next, Incremental Find Previous, Add Bookmark, Add Task, 
		 Show Tooltip Description, Word Completion, Quick Fix and Set Encoding.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="source.htm">Source</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;">Organizes your scripts by adding 
		 or removing comments and formatting the script to make it more 
		 easily viewable.</p>
		<p style="font-style: normal; font-weight: bold;">The Source menu 
		 options are:</p>
		<p style="font-style: normal;">Toggle Comment, Add Block Comment, 
		 Remove Block Comment, Format Document and Format Active Elements.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="refactor.htm">Refactor</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p>Edits 
		 names and locations of files and resources  .</p>
		<p style="font-style: normal; font-weight: bold;">The Refactor 
		 menu options are:</p>
		<p>Rename 
		 and Move.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="navigate.htm">Navigate</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;">Navigates through your scripts 
		 in order to find relevant resources, information and text.</p>
		<p style="font-style: normal; font-weight: bold;">The Navigate 
		 menu options are:</p>
		<p style="font-style: normal;">Go Into, Go To, Open Declaration, 
		 Open PHP Element, Open Resource, Show In, Next Annotation, Previous 
		 Annotation, Last Edit Location, Go to Line, Back and Forward.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="search.htm">Search</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;"><span style="font-style: normal;">Searches 
		 for text or PHP elements in your workspace.</span></p>
		<p style="font-style: normal; font-weight: bold;">The Search menu 
		 options are:</p>
		<p style="font-style: normal; font-weight: normal;">Search, File 
		 and Text.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="project.htm">Project</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-style: normal;">Carries out different functions 
		 on your projects.</p>
		<p style="font-style: normal; font-weight: bold;">The Project menu 
		 options are:</p>
		<p>Open Project, Close Project, Build All, Build Project, Build 
		 Working Set, Clean, Build Automatically,  Convert 
		 to a Dynamic Web Project , and Properties.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="run.htm">Run</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p>Gets 
		 maximum efficiency and &#160;accuracy from your files and projects 
		 through analyzing and testing your code using the Debugging and Run functionality.</p>
		<p style="font-weight: bold;">The Run menu options are:</p>
		<p>Toggle Breakpoint, Toggle Line Breakpoint, Toggle Method Breakpoint, 
		 Toggle Watchpoint, Skip All Breakpoints, Remove All Breakpoints, 
		 Run, Debug, Run History, Run 
		 As, Open Run Dialog, Debug History, Debug As, Open Debug Dialog, 
		 Launch the Web Services Explorer and External Tools. </p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-style: normal;"><a href="window.htm">Window</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal; font-style: normal;">Customizes 
		 your workspace display.</p>
		<p style="font-weight: bold; font-style: normal;">The Window menu 
		 options are:</p>
		<p>New Window, New Editor, Open Perspective, Show View, Customize 
		 Perspective, Save Perspective As, Reset Perspective, Close Perspective 
		 , Close All Perspectives, Navigation,  Web Browser and Preferences.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 17.282%; padding-right: 10px; 
			 padding-left: 10px;"><p><a href="help.htm">Help</a></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 82.718%; padding-right: 10px; padding-left: 10px;"><p>Gives 
		 access to the most updated information on all aspects of PDT , as well as 
		 allowing access to software updates and registration locations 
		 so that you can get the most out of the product.</p>
		<p style="font-style: normal; font-weight: bold;">The Help menu 
		 options are:</p>
		<p>Welcome, Help Contents, Search Dynamic Help, Key Assist, Tips 
		 and Tricks, Software Updates, 
		 Polarion and About Eclipse SDK. 
		 </p></td>
	</tr>
</table>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="height: 16px;" valign="top">
		<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="height: 35px;" valign="top">
		<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><a href="file.htm">File</a></p>
		<p><a href="source.htm">Source</a></p>
		<p><a href="refactor.htm">Refactor</a></p>
		<p><a href="navigate.htm">Navigate</a></p>
		<p><a href="search.htm">Search</a></p>
		<p><a href="project.htm">Project</a></p>
		<p><a href="run.htm">Run</a></p>
		<p><a href="window.htm">Window</a></p>
		<p><a href="help.htm">Help</a></p></td>
	</tr>
	<tr style="height: 19px;" valign="top">
		<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>
