a:6:{i:0;s:8286:"				<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="h1"><h1>Job openings for php developer in dewasindore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.enriseglobal.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.enriseglobal.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for php developer in dewasindore</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">PHP Developer</div>
									<p class="mt7px fw6">Indore, Dewas</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="900790"><input type="hidden" name="subject" value="Applied for PHP Developer">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.enriseglobal.com/vacancy_900790.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Requirements <br />
- Strong programming foundation in PHP, MySQL, Oops Concepts and can develop core PHP based applications.<br />
- Must know CodeIgniter, Laravel, Cake Php.<br />
- Must know HTML, CSS3, JavaScript, AJAX, JQuery and Bootstrap<br />
- Must have worked on MVC frameworks - Laravel, CodeIgniter, Cake PHP.<br />
- Strong Logic <br />
- Good understanding of front-end optimization techniques, cross-browser compatibility and Responsive web design.<br />
- Solid exposure to API integrations.<br />
- Strong time management skill with the ability to work well under pressure.<br />
- The ability to solve problems and identify and implement the best solution is critical.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">PHP</span>
												<span class="bdr dib p2px10px mr5px mt2px"> CI</span>
												<span class="bdr dib p2px10px mr5px mt2px"> React.JS</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ASP.Net</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">TheExelligent Technologies</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Software Developing company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr. Vijay Dhoot</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Indore</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9827369327 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:enriseglobal@gmail.com"> enriseglobal@gmail.com </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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="900790"><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-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(6)</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">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</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-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</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: 'UlBqZmZDNjBjc0wxcWRoL3E1MFhVdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:61:"Job openings for php developer in dewasindore | Enrise global";i:2;s:174:"PHP Developer Jobs,PHP Developer Jobs in Indore,PHP Developer Vacancy in Indore,PHP Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Indore";i:3;s:282:"Apply for PHP Developer Jobs in Indore India - PHP Developer Vacancy  in IT Software - Application Programming / Maintenance field with 1 to 4 years Work Experience, Key Skills are PHP, CI, React.JS, ASP.Net, IT Software - Application Programming / Maintenance jobs in Indore  India";i:4;s:1888:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "PHP Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "TheExelligent Technologies",
	        "value":  "900790"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "TheExelligent Technologies",
	      "description": "Software Developing company",
	      "telephone" : "9827369327",
	      "email" : "enriseglobal@gmail.com"  
	       },
		  "url": "http://www.enriseglobal.com/job-openings-for-php-developer-dewasindore-900790.htm",
          "datePosted": "2020-03-18",
          
		  "baseSalary": " 2  Lac  To  3  Lac ",
		  "description": "Requirements 
- Strong programming foundation in PHP, MySQL, Oops Concepts and can develop core PHP based applications.
- Must know CodeIgniter, Laravel, Cake Php.
- Must know HTML, CSS3, JavaScript, AJAX, JQuery and Bootstrap
- Must have worked on MVC frameworks - Laravel, CodeIgniter, Cake PHP.
- Strong Logic 
- Good understanding of front-end optimization techniques, cross-browser compatibility and Responsive web design.
- Solid exposure to API integrations.
- Strong time management skill with the ability to work well under pressure.
- The ability to solve problems and identify and implement the best solution is critical.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "1 - 4 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Indore, Dewas"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "PHP, CI, React.JS, ASP.Net"
		  }
		</script>
		";i:5;N;}