Как начать писать расширение PHP5 в C++

Вы используете span в качестве контейнера блочных элементов, что неверно. Вместо этого вам нужно использовать div и учитывать запас, чтобы создать пространство, а не корректировать положение, потому что вы просто создадите переполнение справа, если будете толкать элемент слева.

Также не забудьте удалить поля тела по умолчанию, если вы хотите охватить весь экран:

body {
 margin:0;
}

.indexGridContainer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: minmax(250px, 450px);
}
.indexGridContainer > a {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.wallets {
  background-image: url(https://bellroy.imgix.net/cms_images/686/bellroy-brand-homepage-2.jpg?auto=format&fit=max);
}

.bags {
  background-image: url(https://bellroy.imgix.net/cms_images/691/bellroy-brand-homepage-7.jpg?auto=format&fit=max);
}

.keys {
  background-image: url(https://bellroy.imgix.net/cms_images/688/bellroy-brand-homepage-4.jpg?auto=format&fit=max);
}

.phonecases {
  background-image: url(https://bellroy.imgix.net/cms_images/690/bellroy-brand-homepage-6.jpg?auto=format&fit=max);
}

.titleBox {
  margin-left: 20px;
  padding: 20px;
}

.titleBox h1 {
  font-family: 'PT serif', 'serif';
  color: #f2f2f2;
}

.titleBox h3 {
  font-family: 'Lato', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #f2f2f2;
}
<div class="indexGridContainer">
  <a href="#" class="wallets">
    <div class="titleBox">
      <h1>Men's Wallets</h1>
      <h3>>SLIM YOUR WALLET</h3>
    </div>
  </a>
  <a href="#" class="keys">
    <div class="titleBox">
      <h1>Key Covers</h1>
      <h3>>STOP THE JANGLE</h3>
    </div>

  </a>
  <a href="#" class="bags">
    <div class="titleBox">
      <h1>Bags</h1>
      <h3>>Merge work and Play into one</h3>
    </div>

  </a>
  <a href="#" class="phonecases">
    <div class="titleBox">
      <h1>Phone Cases</h1>
      <h3>>Streamline your phone and wallet.</h3>
    </div>
  </a>

</div>

20
задан Charles 23 December 2012 в 21:34
поделиться

1 ответ

После регистрации я столкнулся CodeGen_PECL, который создает скелетное расширение из базирующегося описания XML расширения. Это включает тег, заставляют его произвести C++

, А также проверка, что заголовочный файл использовал экстерна "C", сгенерированный cpp файл также гарантировал, что ZEND_GET_MODULE (привет) был в экстерне "C" блоком также.

Как ожидалось, самое большое различие было в m4 файле, который был похож на это:

dnl
dnl $ Id: $
dnl

PHP_ARG_ENABLE(hello, whether to enable hello functions,
[  --enable-hello         Enable hello support])

if test "$PHP_HELLO" != "no"; then
  PHP_REQUIRE_CXX
  AC_LANG_CPLUSPLUS
  PHP_ADD_LIBRARY(stdc++,,HELLO_SHARED_LIBADD)
  export OLD_CPPFLAGS="$CPPFLAGS"
  export CPPFLAGS="$CPPFLAGS $INCLUDES -DHAVE_HELLO"

  AC_MSG_CHECKING(PHP version)
  AC_TRY_COMPILE([#include <php_version.h>], [
#if PHP_VERSION_ID < 40000
#error  this extension requires at least PHP version 4.0.0
#endif
],
[AC_MSG_RESULT(ok)],
[AC_MSG_ERROR([need at least PHP 4.0.0])])

  export CPPFLAGS="$OLD_CPPFLAGS"


  PHP_SUBST(HELLO_SHARED_LIBADD)
  AC_DEFINE(HAVE_HELLO, 1, [ ])

  PHP_NEW_EXTENSION(hello, hello.cpp , $ext_shared)

fi

Так, если Вы боретесь с той же проблемой, использование CodeGen_PECL, или адаптируете m4 образец выше (а также проверка, что Вы использовали экстерна "C" в Вашем заголовке и вокруг макроса ZEND_GET_MODULE)

5
ответ дан 30 November 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: