a:6:{i:0;s:8499:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for php developer in hyderabad suburb hyderabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.rekruiters.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.rekruiters.in/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for php developer in hyderabad suburb hyderabad</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">PHP Developer</div>
									<p class="mt7px fw6">Hyderabad, Hyderabad Suburb</p>
									
				<br>
				<p class="aj mt7px">The PHP Developer is expected to be able to perform all aspects of the development tasks, including front- end, back- end, PostgresSQL MySQLand database development.<br />
- Develop web sites, applications and rich multi- media experiences according to the brief and technical specifications.<br />
- Must have experience and knowledge in PHP Laravel Framework .<br />
- The applicant is expected to possess strong problem-solving skills programming, testing and troubleshooting skills.<br />
- Must have knowledge of web services and serialization techniques like REST, SOAP, XML & JSON.<br />
- Proficiency in PHP, jQuery, JavaScript, CSS, HTML, MySQL.<br />
- Eagerness to contribute in a team-oriented environment<br />
- PHP(Laravel knowledge is a must), MySQL, HTML, CSS, JavaScript, Jquery, AJAX, responsive front-end frameworks (e.g. Bootstrap), Git.<br />
- Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality<br />
- Familiar with REST API's and Integration with third-party API's<br />
- Hands on Experience in an e-commerce environment would be an added advantage<br />
- Adhering to project coding standards and recommending improvements<br />
- Modifying existing software to correct errors, allowing it to function in new operating environments</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  3  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Laravel Framework</span>
												<span class="bdr dib p2px10px mr5px mt2px"> AJAX</span>
												<span class="bdr dib p2px10px mr5px mt2px"> html</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Javascript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> PHP Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> PHP Software Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> web developer</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Yespho</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Hyderabad based company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Rekruiters</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">India</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">900001000 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:enquiry@rekruiters.in"> enquiry@rekruiters.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="727765">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="944248"><input type="hidden" name="subject" value="Applied for PHP Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kochi.htm" title="Jobs in Kochi">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-malappuram.htm" title="Jobs in Malappuram">Malappuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-coimbatore.htm" title="Jobs in Coimbatore">Coimbatore</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-architecture-interior-design-fid.htm" title="Architecture / Interior Design Jobs">Architecture / Interior Design</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'WVpKeGhFRGdCc3NEcFhvcitBNkNnZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:98:"Job openings for php developer in hyderabad suburb hyderabad | Rekruiters  Resource Management LLP";i:2;s:152:"PHP Developer Jobs,PHP Developer Jobs in Hyderabad,PHP Developer Vacancy in Hyderabad,PHP Developer jobs in India,IT Software - Others jobs in Hyderabad";i:3;s:295:"Apply for PHP Developer Jobs in Hyderabad India - PHP Developer Vacancy  in IT Software - Others field with 2 to 4 years Work Experience, Key Skills are Laravel Framework, AJAX, html, Javascript, PHP Developer, PHP Software Developer, web developer, IT Software - Others jobs in Hyderabad  India";i:4;s:2012:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "PHP Developer",
		  "baseSalary": " 1  Lac  50 Thousand  To  3  Lac  50 Thousand ",
		  "description": "The PHP Developer is expected to be able to perform all aspects of the development tasks, including front- end, back- end, PostgresSQL MySQLand database development.
- Develop web sites, applications and rich multi- media experiences according to the brief and technical specifications.
- Must have experience and knowledge in PHP Laravel Framework .
- The applicant is expected to possess strong problem-solving skills programming, testing and troubleshooting skills.
- Must have knowledge of web services and serialization techniques like REST, SOAP, XML & JSON.
- Proficiency in PHP, jQuery, JavaScript, CSS, HTML, MySQL.
- Eagerness to contribute in a team-oriented environment
- PHP(Laravel knowledge is a must), MySQL, HTML, CSS, JavaScript, Jquery, AJAX, responsive front-end frameworks (e.g. Bootstrap), Git.
- Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality
- Familiar with REST API's and Integration with third-party API's
- Hands on Experience in an e-commerce environment would be an added advantage
- Adhering to project coding standards and recommending improvements
- Modifying existing software to correct errors, allowing it to function in new operating environments",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "2 - 4 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad, Hyderabad Suburb"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Laravel Framework, AJAX, html, Javascript, PHP Developer, PHP Software Developer, web developer"
		  }
		</script>
		";i:5;N;}