문제

내가 필요한 반복을 많이 배열의 다른 방법으로 표시합니다.배열에 의해 생성된 모듈이다.내가 알고있는 그것의 더 나은 포함하지 않는 기능을 제고 난 어디 있는지 알고 싶어를 삽입하는 기능 파일입니다.

나는 할 수 있는'연장'도우미지 확장하려는 도우미가 있습니다.고 싶은 종류의 작성 도우미로 나 루프 기능..전화 수 있습니다 loops_helper.php

도움이 되었습니까?

해결책

Codeigniter 도우미는 여러 기능을 가진 PHP 파일입니다. 수업이 아닙니다

파일을 만들고 다음 코드를 넣습니다.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('test_method'))
{
    function test_method($var = '')
    {
        return $var;
    }   
}

이것을 저장하십시오 신청/도우미/ . 우리는 그것을 "new_helper.php"라고 부를 것입니다.

첫 번째 줄은 파일을 포함 할 수 없도록하여 CodeInter 범위 외부에서 실행됩니다. 이 후 모든 것은 자기 설명입니다.

도우미 사용


이것은 당신의 안에있을 수 있습니다 제어 장치, 모델 또는 보다 (바람직하지 않음)

$this->load->helper('new_helper');

echo test_method('Hello World');

많은 위치 에서이 헬퍼를 사용하는 경우 자동로드 구성 파일에 추가하여 자동으로로드 할 수 있습니다. <your-web-app>\application\config\autoload.php.

$autoload['helper'] = array('new_helper');

-수사

다른 팁

헬퍼 내부에서 CI 인스턴스를 사용할 수있는 일부 코드 :

function yourHelperFunction(){
    $ci=& get_instance();
    $ci->load->database(); 

    $sql = "select * from table"; 
    $query = $ci->db->query($sql);
    $row = $query->result();
}

나를 위해서만 작동합 텍스트를 추가 "_helper" 후 php 파일에 다음과 같:

Codeiginiter Helpers

고 자동으로 로드하는 도우미 폴더에 신청->파일 autoload.php 추가 배수의 이름 없이"_helper"좋아요:

$프로그램에서 사용 가능['helper']=array('comunes');

과 함께 사용할 수 있는 모든 도우미 기능

새 헬퍼를 만들려면 다음을 따라갈 수 있습니다 픽셀 개발자의 지침, 그러나 내 조언은 특정 응용 프로그램의 특정 부분에서 요구하는 논리에 대한 도우미를 만드는 것이 아닙니다. 대신 컨트롤러의 해당 로직을 사용하여 배열을 최종 의도 값으로 설정하십시오. 당신이 그것을 얻으면, 당신은 그들을 템플릿 파서 클래스 그리고 (희망적으로) Echos 및 Foreachs 대신 간단한 변수 또는 가변 태그 쌍을 사용하여 PHP처럼 보이는 모든 것에서보기를 깨끗하게 유지할 수 있습니다. 즉:

{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}

대신에

<?php foreach ($blog_entries as $blog_entry): ?>
<h5><?php echo $blog_entry['title']; ?></h5>
<p><?php echo $blog_entry['body']; ?></p>
<?php endforeach; ?>

이 접근법의 또 다른 이점은 사용자 정의 도우미를 사용하여 모든 작업을 수행하는 경우와 마찬가지로 CI 인스턴스를 추가 할 염려가 없다는 것입니다.

도우미의 이름으로 파일을 만듭니다. /응용 프로그램/도우미 자동로드 구성 파일/로드에 수동으로 추가하십시오.

예를 들어, 호출 된 파일을 배치합니다 user_helper.php 안에 /응용 프로그램/도우미 이 콘텐츠로 :

<?php
  function pre($var)
  {
    echo '<pre>';
    if(is_array($var)) {
      print_r($var);
    } else {
      var_dump($var);
    }
    echo '</pre>';
  }
?> 

이제 도우미를 통해로드 할 수 있습니다 $this->load->helper(‘user’); 또는 추가하십시오 응용 프로그램/config/autoload.php 구성.

애플리케이션 헬퍼 디렉토리에서 도우미를 정의한 다음 컨트롤러에서 호출하여

helper name = new_helper.php
function test_method($data){
 return $data
}   

컨트롤러에서 도우미를로드하십시오

$this->load->new_helper();
$result =  test_method('Hello world!');
if($result){
 echo $result
}

출력이 될 것입니다

Hello World!

구성 파일에서 항목을 검색하려면 다음 기능을 사용하십시오.

$this->config->item('item name');여기서 항목 이름은 검색하려는 $ 구성 배열 인덱스입니다. 예를 들어, 언어 선택을 가져 오려면 다음을 수행 할 수 있습니다.

$lang = $this->config->item('language');가져 오려고하는 항목이 존재하지 않으면 함수가 False (부울)를 반환합니다.

$ this-> config-> load 함수의 두 번째 매개 변수를 사용하는 경우 구성 항목을 특정 인덱스에 할당하려면 $ this-> config-의 두 번째 매개 변수에서 인덱스 이름을 지정하여 검색 할 수 있습니다. > 항목 () 함수. 예시:

// blog_settings.php라는 구성 파일을로드하고 "blog_settings"라는 색인에 할당합니다.

$this->config->load('blog_settings', TRUE);

// blog_settings 배열에 포함 된 site_name이라는 구성 항목 검색

$site_name = $this->config->item('site_name', 'blog_settings');

// 동일한 항목을 지정하는 대체 방법 :

$blog_config = $this->config->item('blog_settings');

$ site_name = $ blog_config [ 'site_name'];

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top